无法在C++的标准输出流(cout)中输出按位运算的结果



每当我试图执行时

int a = 10, b = 20;
cout<< a ^ b;

编译器显示错误,同时我正在执行

int a = 10, b = 20;
printf("%d", a ^ b);

它运行良好,
它背后可能有什么问题?

根据C++运算符优先级-cppreference.com,^的优先级低于<<

这使得cout<< a ^ b被解释为(cout<< a) ^ b,并且不支持该操作。

cout<< (a ^ b);将起作用。

最新更新