gpt4 book ai didi

delphi - 避免 "variable might not have been initialized"

转载 作者:行者123 更新时间:2023-12-03 14:38:18 25 4
gpt4 key购买 nike

我最近遇到了一个看起来像这样的例程:

procedure TMyForm.DoSomething(list: TList<TMyObject>; const flag: boolean);
var
local: integer;
begin
if flag then
//do something
else local := ExpensiveFunctionCallThatCalculatesSomething;

//do something else
for i := 0 to list.Count do
if flag then
//do something
else if list[i].IntValue > local then //WARNING HERE
//do something else
end;

这给出了 Variable 'local' might not have been initialized即使您可以通过阅读代码知道除非初始化它的代码分支已经运行,否则您不会点击该行。

现在,我可以通过添加无用的 local := 0; 来摆脱这个警告。在程序的顶部,但我想知道是否有更好的方法来构建它以避免这个问题。大家有什么想法吗?

最佳答案

我会将其分成两个 for 循环——一个用于标志为 true 时,另一个用于标志为 false 时。作为一个额外的好处,您不必在每次迭代时都执行 if 语句。

关于delphi - 避免 "variable might not have been initialized",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2717383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com