调试我的代码,我注意到Delphi编译器(柏林10.1)没有警告没有返回值的函数.这是正常的吗?
一个简单的例子:
function f(s:string):String; begin stringreplace(s,#32,'',[rfReplaceAll]); end; procedure TForm1.FormCreate(Sender: TObject); begin showmessage(F('te st')); end;
这条线
stringreplace(s,[rfReplaceAll]);
应该
result:= stringreplace(s,[rfReplaceAll]);
没有警告!
我认为它应该警告“返回值可能未定义”.但事实并非如此.
我在最后几天更改并重写了旧代码的一部分.我恐怕在我的申请中有这种错误.