Using VC 5, the following code: BOOL WinBool=TRUE; bool cppBool=true; WinBool = cppBool; cppBool = WinBool; produces the following: warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) I think that there are many of us C++ programers that would consider mixing types like that sloppy and we are suspicious of programmers that program like that when it is not necessary.