当我编译这段代码
{$WARNINGS ON} function Test(s: string): string; var t: string; d: double; begin if s = '' then begin t := 'abc'; d := 1; end; Result := t + FloatToStr(d); end;
我收到警告“变量’d’可能尚未初始化”,但我没有得到变量’t’的相同警告.这似乎不一致.这段代码只是一个显示编译器警告的简单示例,但我刚发现我的实时代码中存在一个错误,该错误会被未初始化的字符串变量的编译时警告捕获.我可以在Delphi 6中以某种方式切换此警告吗?或者在较新版本的Delphi中?
解决方法
不,没有这个开关.由于字符串是编译器托管类型并且始终由编译器初始化,因此不会发生警告.