编译器警告(等级 4)C4668

没有将“symbol”定义为预处理器宏,用“0”替换“directives”

未定义的符号与预处理器指令一起使用。 符号将计算为假。 若要定义符号,您可以使用 #define directive/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
}