0

戻り値に関数パラメーターを使用しようとすると、このエラーが発生しました。関連する問題への回答しか見つかりませんでしたが、これは見つかりませんでした。

例:

void someNumber(int foo)
{
  foo = 3;
}

int bar;
someNumber(bar);

ここで何が問題なのですか?

4

2 に答える 2

1

結局のところ、C# はこの点で少し奇妙ですが、C/C++ よりも奇妙です。:)

出力値のみの参照を渡す場合は、次のように明示的にする必要があります。

void someNumber(out int foo)
{
  foo = 3;
}

int bar;
someNumber(out bar);

そのため、入力パラメーター リストに出力パラメーターがまだありますが (少なくともそれが私の頭の中にあります)、少なくとも今ではあからさまに明らかです。

someNumber の本体で foo に代入しないとエラーになることに注意してください。これはアンチ const のようなもので、明らかにもっとクールなキーワードでした。;)

于 2012-09-25T15:51:04.097 に答える
0
void someNumber(int foo)
{
  foo = 3;
}

int bar;
someNumber(bar);

fooは入力パラメーターであるため、その値を変更することはできません。

リターン関数を使用するため。

int someNumber(int foo)
{
    foo=3;
    return foo;
}
于 2012-09-25T16:02:34.687 に答える