为什么在VS中无法从const char [5]转换为char *?

时间:2018-06-23 14:13:38

标签: c++ visual-studio

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

好的,所以我在一个类中有这段代码,并且不断出现此错误

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

我尝试了一些在线编译器,但效果很好。

那为什么会这样呢?

1 个答案:

答案 0 :(得分:1)

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

将签名更改为

const char* f();

它将起作用。