为什么 int vs 布尔类型检查失败
Why does int vs bool typecheck fail
我最近错误地将 int 声明为 bool,并且没有从 g++ 编译器那里得到任何类型错误。然后我再次尝试进行测试,它编译得很好。有人可以解释为什么这是可以接受的行为吗?至少当我尝试++
布尔值或将bool
分配为 integer
时,编译器不应该给我警告吗?
int main(int argc, char** argv)
{
bool x = 0;
x++;
x++;
cout << x << "n";
return 0;
}
- 使用旧标准(C++98)这不是错误。
- 随着新标准的增加,布尔值被弃用。(C++11)
- 您可以在布尔值上使用递增,直到 C++17。
相关文章:
- 运行时检查失败 #2 变量"A"周围的堆栈已损坏
- 运行时检查失败 #0 用于运行时重新编译
- 运行时检查失败 #2 - 变量"e"周围的堆栈已损坏。发生
- 运行时检查失败 #2 MSVC 仅使用 utf8proc 进行调试
- std::copy 导致运行时检查失败 #2
- 运行时检查失败 #2 - 变量周围的堆栈'...'已损坏
- 运行时检查失败 #2 - 变量"l1"周围的堆栈已损坏
- C++:此代码可以编译,但引发运行时检查失败 #2 - 围绕变量周围的堆栈'num'已损坏。发生
- 运行时检查失败 - 变量周围的堆栈已损坏
- 调试:运行时检查失败 #2 - 变量"LoggerThread"周围的堆栈已损坏
- 运行时检查失败 #2 - 变量周围的堆栈'k'已损坏
- 运行时检查失败 #2 - 变量"数字选择"周围的堆栈已损坏
- 检查失败:1 == numelements()(1 vs. 1792)必须在Tensorflow C 中具有一个元素
- 通过功能指针通过DLL进行回调功能,运行时检查失败#0错误
- 运行时检查失败#2 - 变量周围的堆栈'myArray'已损坏.- 似乎无法弄清楚如何删除此错误
- WINAPI:文件存在检查失败
- 运行时检查失败 #2 - 变量周围的堆栈'normalIndex'已损坏
- 错误:运行时检查失败 #2 - 变量周围的堆栈已损坏
- 运行时检查失败 #2 - 变量周围的堆栈'sample'已损坏
- 运行时检查失败 #2 - 变量周围的堆栈'ap'已损坏