每次我分配变量而不使用它时...
var
X : integer;
begin
X := 123;
end;
关于编译,有个提示可以帮助我说:
[dcc32提示] Unit1.pas(30):H2077从未使用分配给“ X”的值
不幸的是,如果未使用的变量是a,则不会发生这种情况string
。
var
X : string;
begin
X := 'hello';
end;
我已经在Delphi 2007和Delphi XE7上重现了相同的行为,所以我认为这是预期的行为。
为什么不为变量提供H2077提示string
?
似乎托管类型在分配和未使用时不会引发提示。
除此之外,当启用优化时,也不会删除赋值,就像值类型一样。
为什么没有提出提示,这是值得猜测的。没有正当理由不这样做。
另请参见QP中报告的未为分配但未使用的“对过程的引用”生成提示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句