首页 > 解决方案 > 使用 __func__ 标识符时的 C++ 访问冲突读取位置 0xFFFFFFFFFFFFFFFF

问题描述

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

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

: Access violation reading location 0xFFFFFFFFFFFFFFFF

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

如果需要,代码示例

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

谢谢

标签: c++c++11visual-studio-2017predefined-variables

解决方案


static const char __func__[];

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

解决方案,使用小写s

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

或者

std::cout << __func__ << '\n';

推荐阅读