Compiler Error C2180
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Compiler Error C2180.
controlling expression has type 'type'
The controlling expression in an if, while, for, or do statement is an expression cast to void. To fix this issue, change the controlling expression to one that produces a bool or a type that can be converted to bool.
The following sample generates C2180:
// C2180.c
int main() {
while ((void)1) // C2180
return 1;
while (1) // OK
return 0;
}
Show: