将字符串常量转换为char

Converting a string constant to char

本文关键字:char 转换 常量 字符串      更新时间:2023-10-16

我有一个名为Player的类,但在构建下面这样的构造函数时,我收到了一条警告:ISO C++禁止将字符串常量转换为"char"。有人能告诉我这意味着什么以及我该如何解决吗?

class Player
{
public:
Player(char * firstN = "", char * lastN = "");
};

ISO C++禁止将字符串常量转换为"char">

我怀疑编译器是这么说的。它可能说"ISO C++禁止从字符串常量转换为char*"。这是有区别的。

有人能告诉我这意味着什么吗

这意味着您正试图使用字符串常量初始化指向char的指针。正如错误消息所解释的那样,这是无法完成的,因为字符串常量不能隐式转换为此类类型。

如何修复它?

您可以将参数类型更改为const char*。字符串常量隐式转换为该类型。