表示: Delphi
C++
表示設定
W1035: 関数 '%s' の戻り値が設定されていません (Delphi)
提供:RAD Studio XE2
エラーと警告のメッセージ(Delphi):インデックス への移動
この警告は一部のコードパスで関数の戻り値へ値が代入されなかった場合に表示されます。
言い換えれば,関数を実行しても戻り値へ何も値を代入されない可能性があります。
program Produce;
(*$WARNINGS ON*)
var
B: Boolean;
C: (Red,Green,Blue);
function Simple: Integer;
begin
end; (*<-- ここで警告*)
function IfStatement: Integer;
begin
if B then
Result := 42;
end; (*<-- ここで警告*)
function CaseStatement: Integer;
begin
case C of
Red..Blue: Result := 42;
end;
end; (*<-- ここで警告*)
function TryStatement: Integer;
begin
try
Result := 42;
except
Writeln('Should not get here!');
end;
end; (*<-- ここで警告*)
begin
B := False;
end.
{ 手続き IfStatement と CaseStatement の問題点は一部のコードパスで結果へ値が代入されない点である。TryStatement では,コンパイラは Result へ値が代入される前に例外が発生する可能性があるとみなす }
program Solve;
(*$WARNINGS ON*)
var
B: Boolean;
C: (Red,Green,Blue);
function Simple: Integer;
begin
Result := 42;
end;
function IfStatement: Integer;
begin
if B then
Result := 42
else
Result := 0;
end;
function CaseStatement: Integer;
begin
case C of
Red..Blue: Result := 42;
else Result := 0;
end;
end;
function TryStatement: Integer;
begin
Result := 0;
try
Result := 42;
except
Writeln('Should not get here!');
end;
end;
begin
B := False;
end.
{ 考えられるすべてのコードパスで結果の変数へ値が代入されるようにすれば解決する }