首页 > 解决方案 > 为什么我无法在 VS 中从 const char[5] 转换为 char*?

问题描述

char* f() {
   cout << b;
   return "B::f";
}

好的,所以我在一个类中有这段代码,我一直收到这个错误

'return': cannot convert from 'const char [5]' to 'char*'

我尝试了一些在线编译器,它工作得很好。

那么为什么会这样呢?

标签: c++visual-studio

解决方案


这个函数的返回类型表明它指向的存储是可以改变的。但是,您返回一个不允许修改的文字。

将签名更改为

const char* f();

它会起作用。


推荐阅读