在函数参数列表中声明引用

时间:2011-10-01 20:17:33

标签: c++ visual-studio-2010

我正在尝试用宏来做一些时髦的事情并且要做,我需要做一些更有趣的事情。举一个我正在尝试做的例子,考虑下面的代码:

#include <iostream>

int set_to_three(int& n) {
    n = 3;
    return 0;
}

int main() {

    int s = set_to_three(int& t); // <-- Obviously this wouldn't compile

    t += 5;

    std::cout << t << std::endl; // <-- This should print 8
    std::cout << s << std::endl; // <-- This should print 0

    return 0;
}

正如您所看到的,我想调用一个函数,声明其参数,并在 ONE 表达式中捕获函数的返回值。我尝试以各种时髦的方式使用逗号运算符,但没有结果。

我想知道这是否可能,如果是的话,我怎么能这样做?我认为可能使用逗号运算符,但我根本不知道如何。我正在使用Visual Studio 2010,以防您需要知道我正在使用哪个编译器。

1 个答案:

答案 0 :(得分:2)

由于您只有两个int,因此可以使用:

int t, s = set_to_three(t);

请注意,这不是逗号运算符。

如果st的类型不同,那么恕我直言就不可能。