Поделиться через


Предупреждение компилятора (уровень 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
}