我写了以下两行:
Line 1 :
int a;
a=a^a;
Line 2 :
double d;
d=d^d;
第 1 行工作正常,但第 2 行出现错误:
error: invalid operands of types ‘double’ and ‘double’ to binary ‘operator^’
有人可以告诉我为什么按位异或运算符适用于两个int但不适用于两个double变量...??
似乎是一个愚蠢的疑问...但如果没有这个我真的无法完成我的程序...!
因为标准是这么说的。
C++11 §5.12 按位异或运算符
执行通常的算术转换;结果是操作数的按位异或函数。该运算符仅适用于整数或枚举操作数。
异或两个没有多大意义double
s,在我看来。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)