我在尝试使用函数参数作为返回值时遇到此错误。 我只能找到相关问题的答案,但不能找到这个答案。
示例:
void someNumber(int foo)
{
foo = 3;
}
int bar;
someNumber(bar);
这里有什么问题?
答案 0 :(得分:1)
事实证明,C#在这方面有点奇怪,但比C / C ++更奇怪。 :)
如果仅为输出值传递引用,则必须以这种方式显式:
void someNumber(out int foo)
{
foo = 3;
}
int bar;
someNumber(out bar);
所以,虽然你在输入参数列表中仍然有一个输出参数(至少那是我脑子里的那个),但至少它现在显而易见了。
请注意,现在错误的是不在someNumber的主体中分配给foo。它有点像反常数,显然是一个更酷的关键词。 ;)
答案 1 :(得分:0)
void someNumber(int foo)
{
foo = 3;
}
int bar;
someNumber(bar);
foo是一个输入参数,因此您无法更改其值..
因为使用了返回功能。
int someNumber(int foo)
{
foo=3;
return foo;
}