-1

我正在使用 Visual Studio 2017,并将项目设置为在 C/C++->Languages 下使用 ISO C++14 标准

调试器无法识别__func__预定义的标识符,如果我尝试将其用作错误的字符串,它会崩溃:

: Access violation reading location 0xFFFFFFFFFFFFFFFF

我缺少什么能够使用这个标识符?

如果需要,代码示例

printf("%S\n", __func__);

谢谢

4

1 回答 1

3
static const char __func__[];

printf() 以大写字母S作为转换说明符是需要wchar_t*.

解决方案,使用小写s

printf("%s\n", __func__);

或者

std::cout << __func__ << '\n';
于 2019-12-17T21:17:23.800 回答