本人刚学习c++,在vc中编一个函数时遇到这样一个问题,请高手指点:

cannotconvertparameter1from'char*'to'unsignedint'Thisconversionrequiresareinterpret_c... cannot convert parameter 1 from 'char *' to 'unsigned int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
Error executing cl.exe.
程序如下:
string greet(string form,string lastname,string title,string::size_type pos,int length)
{
string::iterator beg,end;
beg=form.begin()+form.find("Daisy");
end=beg+5;
form.replace(beg,end,lastname);
beg=form.begin()+form.find("Ms");
end=beg+2;
form.replace(beg,end,title,pos,length);
要是用这种形式form.replace(beg,end,title.substr(pos,length));就不会有问题,就解释
return form;
}
展开
 我来答
Sumerhotzzy
2011-10-17 · TA获得超过146个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:209万
展开全部
cannot convert parameter 1 from 'char *' to 'unsigned int'
'从这里判断调用的第一个参数出了问题,就是beg这个参数
form.replace(beg,end,lastname); '这里replace函数写了3个参数
form.replace(beg,end,title,pos,length); '这里replace函数写了5个参数
要是用这种形式form.replace(beg,end,title.substr(pos,length));就不会有问题,就解释 ‘(这里用了3个参数)
太久没有写C++了,不过判断的过程应该是类似的,你看看是否调用错了replace的另一种重构形式
更多追问追答
追问
就是调用了另一种重构形式,但我不明白form.replace(beg,end,title,pos,length); 这种形式为啥不对?我感觉是和form.replace(beg,end,title.substr(pos,length));的效果是一样的
追答
手上没有MSDN,你能把replace的五参数形式和三参数形式贴上来或者发给我看看么?从报错信息看是参数类型不一致,char *和unsigned int位数都不一样,肯定会报错
来自异世界的韩梅梅
2011-10-17 · TA获得超过499个赞
知道小有建树答主
回答量:509
采纳率:100%
帮助的人:435万
展开全部
cannot convert parameter 1 from 'char *' to 'unsigned int'
不能把第一个参数从char转换到无符号的整形,你看看是不是参数的类型有问题!
追问
好像不是
追答
是参数出错了~!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1889732
2011-10-17 · TA获得超过107个赞
知道答主
回答量:69
采纳率:0%
帮助的人:76.9万
展开全部
我也只是猜测:
参数数量不一样吧
form.replace(beg,end,title,pos,length);//()里面5个参数

form.replace(beg,end,title.substr(pos,length));//()里面是3个参数,title.substr(pos,length)表示
从一个字符串title复制一个从指定位置pos开始,并具有指定长度length的子字符串。
追问
问题就在这,我感觉5个参数和3个参数的功能是一样的,replace操作包括这两种重构函数,但5个参数我不明白为啥运行不正确
追答
饿,刚看到你的追问,看到楼下你已经解决了~,表示现在用C++还没达到会使用重构等特殊函数,只是会用C的C++水平~我也要好好学习了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式