错误如下:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2664 “String::String(const String &)”: 无法将参数 1 从“const char [4]”转换为“char *” Project7 D:\software\VisualStudio\workspace\Project7\Project7\main.cpp 43
主要注意的点就是: “String::String(const String &)”: 无法将参数 1 从“const char [4]”转换为“char *”
先看代码:
class String
{
public:
String();
String(char * str);
virtual ~String();
}
String::String(char * str) {
if (NULL == str) {
this->m_value = new char[m_length+1];
this->m_value[0] = '\0';
return;
}
void TestString() {
//出错的地方
String str1("abc");
cout << str1 << endl;
}
int main() {
TestString();
return 0;
}
从“const char [4]”转换为“char *” ,String(char * str) 需要添加 const,相应的构造函数的输入参数也需修改:
修改的地方为:1.声明 2.构造函数
// 1. String(char * str);
String(const char * str);
// 2. String::String(char * str) {}
String::String(const char * str) {}