为什么int vs bool typecheck失败

时间:2016-03-22 06:19:23

标签: c++

我最近错误地将int声明为bool并且没有从g ++编译器中获得类型错误。然后我再次尝试进行测试,它编译得很好。有人可以解释为什么这是可接受的行为?至少当我尝试++布尔值或我将bool指定为integer时,编译器不应该给我一个警告。

int main(int argc, char** argv)
{
    bool x = 0;
    x++;
    x++;
    cout << x << "\n";
    return 0;
}

1 个答案:

答案 0 :(得分:1)

  • 使用旧标准(C ++ 98)并不是错误。
  • 随着新标准的增加,不推荐使用布尔值。 (C ++ 11)
  • 您可以在布尔值上使用增量,直到C ++ 17。