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 是一个错误。它有点像一个反常量,这显然是一个更酷的关键字。;)

于 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 回答