代码

if (a == 1) {
 // 
}

问题

invalid operands to binary expression

原因

  • 二进制表达式的操作无效
  • 顾名思义 错误出在操作符上 对类型的操作问题
  • 比如两种不能比较的类型进行了比较

解决方案

if (static_cast<int>(a) == 1) {
 // 
}