Отлаживая свой код, я заметил, что компилятор Delphi (Berlin 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,#32,'',[rfReplaceAll]);
Должно быть
result:= stringreplace(s,#32,'',[rfReplaceAll]);
Без предупреждения!
Я думаю, он должен предупредить, что "возвращаемое значение может быть неопределенным". Но это не так. Я изменил и переписал часть старых кодов в последние дни. Боюсь, у меня в заявке есть такая ошибка.