Al usar una instrucción como #if TRUE
, ¿qué debo esperar que ocurra? ¡Una explicación sería muy apreciada! Entiendo cómo funciona #if 1
, pero da un resultado COMPLETAMENTE diferente en mi código que usando #if TRUE
. Entiendo que #if
es una directiva condicional, y lo que eso implica; es solo la parte TRUE
(o FALSE
) que no entiendo. Parece como si al usarlo de esta forma nunca se ejecutara código después de la declaración. Aquí está un ejemplo:C++, usando la directiva condicional #if VERDADERO
#if TRUE
cout << "true" << endl;
#endif
#if FALSE
cout << "false" << endl;
#endif
nunca parece ver "verdadero" o "falso" impreso a la pantalla y utilizando Visual Studio, el comunicado interno está atenuado automáticamente.
Simplemente prueba si las macros están declaradas. Por lo general, en WinDef.h están declarados para ser utilizados con BOOL. –
¿"VERDADERO" no es una palabra reservada? – Hieli
No, solo se trata de una macro declarada con #define win WinDef.h (vea http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx). La palabra reservada es "verdadera" (minúsculas). –