过程和函数中的定义的变量,如何初始化?

wangguan007 2003-08-22 02:51:56
提示信息:

[Warning] Unit_stat_vehicle_issue.pas(100): Variable 'my_date_in' might not have been initialized

需要初始化吗?
如何初始化?
...全文
97 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
killme2008 2003-09-18
  • 打赏
  • 举报
回复
需要初始化

局部变量不用初始化
最好少用或者不用全局变量

函数和过程内部定义的变量,如果不是长字符串(AnsiString/String)、宽字符串(WideString)、动态数组(dynamic arrays)和接口(interface),那么都需要人工初始化。

高手已经回答了
S海鸥 2003-09-17
  • 打赏
  • 举报
回复
最好赋个初值,

'需要初始化'
wangguan007 2003-09-16
  • 打赏
  • 举报
回复

我晕!!
FrameSniper 2003-09-15
  • 打赏
  • 举报
回复
都不需要初始化!
INeedCa 2003-09-15
  • 打赏
  • 举报
回复
"所有的Warning和Hint都应该消除, 否则这个代码就不是合格代码."
telossoft 2003-09-10
  • 打赏
  • 举报
回复
如果有此类提示,一定要在代码的开始部分为变量赋值,我不赞成不管警告。
telossoft 2003-09-10
  • 打赏
  • 举报
回复
局部变量不能够初始化,出现提示:
[Warning] Unit_stat_vehicle_issue.pas(100): Variable 'my_date_in' might not have been initialized
你要当心了!编译器发现你使用某变量时它的值是不确定的!不过有时编译器也回被你迷惑,特别是使用指针或直接内存操作时:
proc jjj;
var
a,b: integer;
begin
b:= 9;
copymemory(@a, @b, 4);
showmessage(inttostr(a));
end;

不过D7的编译器好象已经能识破你的这类歪方法了。

delphiseabird 2003-09-08
  • 打赏
  • 举报
回复
值参数,变量不用初始化,常参数可以初始化,外部参数(out)初始化了也没用
cmain83 2003-09-08
  • 打赏
  • 举报
回复
我的习惯是.
不论局部还是全局.

在一个过程或程序开始的地方进行初始化.

这样保险
wangguan007 2003-09-08
  • 打赏
  • 举报
回复
谢谢各位!
wangguan007 2003-08-29
  • 打赏
  • 举报
回复
最终结论:

不理会
hiflower 2003-08-29
  • 打赏
  • 举报
回复
好的习惯是对每个使用的变量进行初始化。
警告信息有时看起来无关紧要,也有时会产生意想不到的结果。
47522341 2003-08-22
  • 打赏
  • 举报
回复
该提示不影响编译,可以不加理会,
如果,你不想让他出现,可以考虑将该变量定义为全局变量。
wangguan007 2003-08-22
  • 打赏
  • 举报
回复
目前有三种意见:
1、lxpbuaa(桂枝香在故国晚秋)
函数和过程内部定义的变量,…………都需要人工初始化。

2、yujohny(踏网无痕)
可以不理会

3、liuhelin(鹤林)
局部变量不能够初始化

欢迎大家发表高见

mbzdh 2003-08-22
  • 打赏
  • 举报
回复
楼上的说的好,学习!
liuhelin 2003-08-22
  • 打赏
  • 举报
回复
局部变量不能够初始化
shjanen 2003-08-22
  • 打赏
  • 举报
回复
赋值即可
lxpbuaa 2003-08-22
  • 打赏
  • 举报
回复
函数和过程内部定义的变量,如果不是长字符串(AnsiString/String)、宽字符串(WideString)、动态数组(dynamic arrays)和接口(interface),那么都需要人工初始化。

————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
yujohny 2003-08-22
  • 打赏
  • 举报
回复
初始化也就是给它赋个值
Integer 变量可以赋0
string 变量可以赋''
就这样了,不过这些警告都是很正常,因为编译了一次就相当于赋值了(因为你过程和函数中肯定赋值给它了),可以不理会。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧