Предупреждение компилятора (уровень 4) C4668
"символ" не определен в качестве макроса препроцессора и будет заменен в "директивах" на "0"
Символ, который не был определен, использовался с директивой препроцессора. Символ будет оцениваться как false. Чтобы определить символ, можно использовать директиву #define или параметр компилятора /D .
Это предупреждение отключено по умолчанию. Подробнее: Выключенные по умолчанию предупреждения компилятора .
Пример
Следующий пример приводит к возникновению ошибки 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_s("defined");
#else
printf_s("undefined");
#endif
}