CをObjectPascalにしてたら・・・

解決


風邪  2004-03-03 01:27:14  No: 7486

C言語で書かれたあるサンプルプログラムをObjectPascalにしてたら・・・(Delphiのがなくて)
「return」とあって、JavaScriptを知っているのでDelphiのresultの事だなと思い書き換えようとすると、
returnには何も代入しないみたいで、よく分かりません。
DelphiQ&Aなのに済みません。だれか分からないでしょうか
どの様に訳せば良いのでしょう?


にしの  2004-03-03 01:46:30  No: 7487

戻り値を戻さないreturnに対応するのは、Exitです。
ちなみに、値を返すけど続かない場合もExitが必要です。
例えば、

int test(int i)
{
  if(i==1)
  {
    return 1;
  }
  return 0;
}
という場合は、
function test(i: integer): integer;
begin
  if i = 1 then
  begin
    result := 1;
    exit; // ここでExitしないと次に進んでしまう
  end;
  result := 0;
end; // 最後なのでexitは必要なし
となります。

もう1つ例を。
void test2(int *ans, int num)
{
  if(num==1)
  {
    return;
  }
  *ans := num*num;
}
の場合。
procedure test2(var ans: integer; num: integer);
begin
  if num = 1 then Exit;
  ans := num * num;
end;
となります。


風邪  2004-03-03 01:48:47  No: 7488

その関数を使用する手続きが戻り値を使うみたいです


風邪  2004-03-03 01:54:14  No: 7489

/*コメント*/みてました
戻り値は使わないみたいです
にしのさんありがとうございました


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加