-1

所以,我有一个方法,我想传入一个变量,并更改该变量,如下所示:

// Not this:
x = addNumber(5, x);

// Like this:
addNumbers(5, x);

但我该怎么做呢?我想让它改变一个变量而不返回一个值。我该怎么办?

4

3 回答 3

3

您需要通过引用传递它:

void addNumber(int n, int& x)
{
    x += n;
}

int main()
{
    int x = 0;
    addNumber(5, x);
}
于 2013-09-24T21:57:57.257 回答
2
void addNumbers(int x, int& y) {
  y += x;  // y will have the value of x+y when you return from this method
}

中的 & 字符int& y允许将其作为引用传递,这意味着您可以更改方法内变量的值,并且该更改将在方法返回时持续存在。

于 2013-09-24T21:58:04.927 回答
2

通过引用传递:

inline void addNumber(const int val, int& dst) {
    dst += val;
}

在某处:

int x = 7;
addNumber(5, x);
于 2013-09-24T21:58:09.427 回答