重载逗号运算符,有什么参数和类型的限制?编译错误啊
我在VC2010下面尝试重载逗号运算符:
- C/C++ code
class x{ int i;public: x():i(23){} void operator,(){cout<<i<<endl;}};编译错误: 二进制“operator ,”的参数太少
请教: 这种重载的参数个数/类型还有限制么?
[解决办法]
- C/C++ code
# include <iostream>using namespace std;class foo { int i;public: foo(): i(23) {} int operator ,(int n) { cout << i << endl; return i; }};int main(){ foo x; int y = (x, 100); cout << y << endl; return 0;}