我正在尝试用宏来做一些时髦的事情并且要做,我需要做一些更有趣的事情。举一个我正在尝试做的例子,考虑下面的代码:
#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,以防您需要知道我正在使用哪个编译器。
答案 0 :(得分:2)
由于您只有两个int
,因此可以使用:
int t, s = set_to_three(t);
请注意,这不是逗号运算符。
如果s
和t
的类型不同,那么恕我直言就不可能。