使用 __func__ 标识符时,C++ 访问冲突读取位置 0xFFFFFFFFFFFFFFFF
C++ Access violation reading location 0xFFFFFFFFFFFFFFFF when using __func__ identifier
我正在使用 Visual Studio 2017,我将项目设置为在 C/C++->Languages
下使用 ISO C++14 标准
调试器无法识别 __func__
预定义标识符,如果我尝试将其用作字符串并出现错误,它会崩溃:
: Access violation reading location 0xFFFFFFFFFFFFFFFF
我缺少什么才能使用这个标识符?
代码示例(如果需要)
printf("%S\n", __func__);
谢谢
static const char __func__[];
printf()
以大写字母 S
作为转换说明符是一个需要 wchar_t*
.
的扩展
解决方法,使用小写 s
:
printf("%s\n", __func__);
或
std::cout << __func__ << '\n';
我正在使用 Visual Studio 2017,我将项目设置为在 C/C++->Languages
下使用 ISO C++14 标准调试器无法识别 __func__
预定义标识符,如果我尝试将其用作字符串并出现错误,它会崩溃:
: Access violation reading location 0xFFFFFFFFFFFFFFFF
我缺少什么才能使用这个标识符?
代码示例(如果需要)
printf("%S\n", __func__);
谢谢
static const char __func__[];
printf()
以大写字母 S
作为转换说明符是一个需要 wchar_t*
.
解决方法,使用小写 s
:
printf("%s\n", __func__);
或
std::cout << __func__ << '\n';