c++ - 使用 __func__ 标识符时的 C++ 访问冲突读取位置 0xFFFFFFFFFFFFFFFF
问题描述
我正在使用 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';
推荐阅读
- python-3.x - 在 Python 中从字符串中删除除句点 (.) 和冒号 (:) 之外的所有标点符号
- python - 按条件将列拆分为多行
- javascript - 将 RTF 格式转换为 HTML JavaScript
- vue.js - 上传后如何在裁剪器中加载占位符
- pandas - 将 SKLearn 回归系数写入 Pandas 系列
- node.js - Kafka 消费者监听两个事件/主题
- ios - 如何创建谓词来过滤具有可转换类型的字段上的实体?
- r - 如何通过 ICD 数据的前缀创建子组?
- node.js - 如何使用 node-ews 包阅读带有正文和附件的未读电子邮件
- python - 如何更改配置文件python行中的值