Export (0) Print
Expand All
Expand Minimize

Compiler Warning (level 4) C4668

'symbol' is not defined as a preprocessor macro, replacing with '0' for 'directives'

A symbol that was not defined was used with a preprocessor directive. The symbol will evaluate to false. To define a symbol, you can use either the #define directive or /D compiler option.

This warning is off by default. See Compiler Warnings That Are Off by Default for more information.

The following sample generates C4668:

// C4668.cpp
// compile with: /W4
#include <stdio.h>
#pragma warning (default : 4668)   // turn warning on
int main() {
   #if q   // C4668, q is not defined
      printf("defined");
   #else
      printf("undefined");
   #endif
}
Show:
© 2014 Microsoft