编译器错误 C2180

控制表达式具有类型“type”

ifwhilefordo 语句中的控制表达式是强制转换为 void 的表达式。 若要解决此问题,请将控制表达式更改为生成 bool 的表达式或更改为可以转换为 bool 的类型。

以下示例生成 C2180:

// C2180.c

int main() {
   while ((void)1)   // C2180
      return 1;
   while (1)         // OK
      return 0;
}