永发信息网

c++编译问题

答案:1  悬赏:0  手机版
解决时间 2021-04-28 07:23

// file string.h

#ifndef STRING_H
#define STRING_H
class String
{
public:
string(char const *chars="");
void displayString();
void changeString(int idx,char ch);
private:
char *ptrChars;
};
#endif

// file string.cpp

#include<cstring>
#include<cstdio>
#include"string.h"

String::string(char const *chars)
{
ptrChars=new char[std::strlen(chars) +1];
std::strcpy(ptrChars,chars);
}
void String::displayString()
{
std::puts(ptrChars);
}
void String::changeString(int idx,char ch)
{
ptrChars[idx]=ch;
}

// file main.cpp

#include "string.h"
int main()
{
String str("B++");
str.changeString(0,'c');
str.displayString();
}

编译总出现这个问题:

error C2664: '__thiscall String::String(const class String &)' : cannot convert parameter 1 from 'char [4]' to 'const class String &'
Reason: cannot convert from 'char [4]' to 'const class String'

咋搞...?

最佳答案

// file string.h


#ifndef STRING_H
#define STRING_H
class String
{
public:
String(char* const chars="");
void displayString();
void changeString(int idx,char ch);
private:
char *ptrChars;
};
#endif
// file string.cpp


#include<cstring>
#include<cstdio>
#include"string.h"


String::String(char* const chars)
{
ptrChars=new char[strlen(chars) +1];
strcpy(ptrChars,chars);
}
void String::displayString()
{
puts(ptrChars);
}
void String::changeString(int idx,char ch)
{
ptrChars[idx]=ch;
}


// file main.cpp


#include "string.h"
int main()
{
String str("B++");
str.changeString(0,'c');
str.displayString();
return 0;
}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
龟兔赛跑时,为什么兔子一会儿单脚跳,一会儿双
戴尔怎么设置密码,戴尔一体机登机密码怎么只
什么手机现在好用,又用起来爽!
幸运城在哪打开
QQ农场怎么才能挖到桂圆
阿强新鲜瓜果蔬菜地址有知道的么?有点事想过
油性皮肤选什么样的洗面奶?
快男四强名单,急需!
QQ堂和QQ旋舞谁的容量大
怎样大胆的去追求想要的东西,不管是对失错,
看看这是什么花?要怎么养?
崩溃!!手机和mp3、mp4都坏掉了......
写春天的诗歌,关于春天的现代名家小诗
魂法+拾取的菠菜BB多少W?
在问问团队中看不到自己创建的专题,为什么?
推荐资讯
农、牧场网页打不开怎么办?
初三上学期古诗
本田缤智哪种颜色好看,哪种美瞳颜色带着看起
NOKIA手机 n81 n85 n86 新加坡的价钱是多少?
金融问题,急呀
步步高音乐手机I6青花瓷现在多少钱了???
金猴南海名居在什么地方啊,我要过去处理事情
南昌晚报与南昌日报的关系?
15岁算性早熟吗
我一餐可以吃全天个饭这样吃会怎样
怎样可以祛痘印?
问问里有工作人员吗?…
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?