const char* 类型的值不能用于 用于出初始化“char”类型的实体?
#include<iostream>#include<string>
using namespace std;
class String {
int Length;
char* Strp;
char* s;
public:
String(); //重载构造函数1
String(char* s);//重载构造函数2
String(String& s); //重载构造函数3
void Print()
{
cout << "String=" << Strp << endl;
cout << "Length=" << Length << endl;
}
};
String::String()
{
Length = 0;
Strp = new char;
*Strp = '\0';
}
String::String(char* s)
{
}
String::String()
{
Length = strlen(s);
Strp = new char;
strcpy(Strp, s);
}
String::String(String& s)
{
Length = s.Length;
Strp = new char;
strcpy(Strp, s.Strp);
}
int main()
{
char* s = "This is a string";
String str1;
String str2(s);
String str3(str2);
str1.Print();
str2.Print();
str3.Print();
}
对呀,一个是 char指针,一个是char,有什么问题吗?
人造人 发表于 2021-3-31 15:23
对呀,一个是 char指针,一个是char,有什么问题吗?
怎么才能编译通过
严重性 代码 说明 项目 文件 行 禁止显示状态
错误(活动) E0144 "const char *" 类型的值不能用于初始化 "char *" 类型的实体 Tutorial E:\Document\C++\C++\Visual studio\newChapter13\Tutorial\13.1.cpp 41
yyyf 发表于 2021-3-31 15:27
怎么才能编译通过
严重性 代码 说明 项目 文件 行 禁止显示状态
错误(活动) E0144 "const char *" 类型 ...
这和你的标题不符,你标题上说的是 const char *和 char
你现在的问题是 const char *和 char *
少了一个 *,提问题要认真,提出错误的问题对解决问题没有任何帮助
当然,写代码更要认真
char* s
改成
const char *s
人造人 发表于 2021-3-31 15:31
这和你的标题不符,你标题上说的是 const char *和 char
你现在的问题是 const char *和 char *
少了一 ...
谢谢大佬对萌新的指导
页:
[1]