c++问题error C2440: '=' : cannot convert from 'char *' to 'char'

#include"iostream"#include"string"usingnamespacestd;classSTR{public:STR(char*t){*s=ne... #include"iostream"
#include"string"
using namespace std;
class STR
{public:
STR(char *t)
{*s=new char[strlen(t)+1];
strcpy(s,t);
m=0,n=0;
}
~STR()
{delete s;}
void fun()
{char *p=s;
int mark=0;
while(*p)
{if(*p=='.')
n++;
if(*p!=' '&&*p!='.'&&*p!=',')
mark=1;
else if(mark==1)
{m++;
mark=0;
}
p++;
}
}
void print()
{cout<<"sentence:"<<n<<"word:"<<m<<endl;}
private:
char *s;
int m,n;
};
void main()
{ char f[200]="I am a student.I am twenty.I come from China.";
//cin.getline(f,20);
STR D(f);
D.fun();
D.print();
}
这是判断一个字符串中的句子数,单词数的程序。编译出现了问题,请大家帮忙。
展开
 我来答
xoaxa
2014-02-20 · TA获得超过8611个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3493万
展开全部
STR(char *t) {
s = new char[strlen(t) + 1]; // s前的*去掉就好了
strcpy(s,t);
m = 0,n = 0;
}

 还有就是析构函数中的delete后需要加[],否则与new []不配套

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式