conditional expression of type 'type' is illegal
The conditional expression evaluates to an integer type. The following sample generates C2451:
class B { }; main() { B b1; int i = 0; if (b1) // C2451 ; /* // try // if (i) ; */ }