对 cout 运算符使用逻辑或
Using logical OR with cout operator
为什么 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;
根据 Operator Precedence,operator<<
的优先级高于 operator bitor
。然后 cout << a bitor b << endl;
将被解释为
(cout << a) bitor (b << endl);
而b << endl
无效。
您可以添加括号来指定正确的优先级,例如
cout << (a bitor b ) << endl;
为什么 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;
根据 Operator Precedence,operator<<
的优先级高于 operator bitor
。然后 cout << a bitor b << endl;
将被解释为
(cout << a) bitor (b << endl);
而b << endl
无效。
您可以添加括号来指定正确的优先级,例如
cout << (a bitor b ) << endl;