c++ - 为什么我无法在 VS 中从 const char[5] 转换为 char*?
问题描述
char* f() {
cout << b;
return "B::f";
}
好的,所以我在一个类中有这段代码,我一直收到这个错误
'return': cannot convert from 'const char [5]' to 'char*'
我尝试了一些在线编译器,它工作得很好。
那么为什么会这样呢?
解决方案
这个函数的返回类型表明它指向的存储是可以改变的。但是,您返回一个不允许修改的文字。
将签名更改为
const char* f();
它会起作用。
推荐阅读
- makefile - 使用 Makefile 依赖项
- amazon-web-services - 通过 AWS CDK 重新使用现有 CloudFront 分配
- python-3.x - 检查值是否在列表中,如果无效则标记它
- javascript - 如何使用单个按钮打开和关闭 div
- java - 创建堆栈以使用数组从中缀转换为后缀
- javascript - Creating SAPUI5 supported Arrows-Buttons to skip 3,6,9 Months
- flutter - 使用 Flutter 进行 Web 构建时,抛出另一个异常:NoSuchMethodError: invalid member on null: 'findRenderObject' 继续发生
- php - 数组上的 if 语句
- html - WCAG - 带有 chrome 的旁白
- c# - .NET Core 中的 FetchXML - CRM Web API