编译器错误 C2457

“macro”: 预定义的宏不能出现在函数体的外部

你尝试在全局空间中使用预定义的宏,例如 __FUNCTION__

示例

以下示例将生成 C2457,并显示正确的用法:

// C2457.cpp
#include <stdio.h>

__FUNCTION__;   // C2457, cannot be global

int main()
{
    printf_s("\n%s", __FUNCTION__);   // OK
}