是否有可能超载基本类型像char
或int
有额外的运营商?重载基本数据类型
我试了一下:
bool char::operator[](const int param) {
if (param < 8) {
return (*this) & std::pow(2, param);
}
else {
exit(13);
}
}
我想发生: 我希望函数在字符变量的param
位置返回该位的值。
发生了什么: 它不能编译。错误:'bool' followed by 'char' is illegal.
问题。最后回答。是否需要详细说明。 –
'^'是按位异或运算符。我相信你正在寻找逐字分解(“和”),写成'&'。 'pow'返回一个浮点值;如果你想计算2到一个小整数的幂,使用左移运算符:1U << param'(或者'1UL << param',如果你期望'param'大于' int'。甚至'1ULL << param' ...) – rici