为什么bitor
与cout
运算符一起使用时不起作用
这有效
int a=5,b = 6,d = a bitor b;
cout << d << endl;
这引发错误
int a=5,b=6;
cout << a bitor b << endl;
错误消息:
invalid operands of types 'int' and '<unresolved overloaded function type>' to binary 'operator<<'
cout << a bitor b << endl;
答案 0 :(得分:5)
根据Operator Precedence,operator<<
的优先级高于operator bitor
。然后cout << a bitor b << endl;
将被解释为
(cout << a) bitor (b << endl);
b << endl
无效。
您可以添加括号以指定正确的优先级,例如
cout << (a bitor b ) << endl;