c++构造函数中char *做形参,为其赋予了初始值,但还是显示出错?

#include<iostream>#include<cstring>usingnamespacestd;classString{private:char*strValu... #include <iostream>
#include <cstring>
using namespace std;
class String
{
private:
char *strValue;
public:
String(char *s = "")
{
if (s == NULL) s = "";
strValue = new char[strlen(s) + 1];
strcpy(strValue, s);
}
String(const String ©)
{
strValue = new char[strlen(copy.strValue) + 1];
strcpy(strValue, copy.strValue);
}
~String() { delete[]strValue; }
void Show() { cout << strValue << endl; }
};
int main()
{
String c1();

c1.show();
system("pause");
return 0;
}
展开
 我来答
百度网友d428786c8d4
2018-09-11 · 知道合伙人IT服务行家
百度网友d428786c8d4
知道合伙人IT服务行家
采纳数:13 获赞数:207
资深嵌入式工程师,12年嵌入式行业经验,深圳市科技进步奖。

向TA提问 私信TA
展开全部
是编译出错,还是显示结果不是预期的。我看代码里面没有传参进去 String c1();
更多追问追答
追问
编译报错“.show”的左边必须有类/结构/联合
追答
你把不带参数的构造函数补上去试一下
String()
{
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式