注册 登录
编程论坛 VC++/MFC

error C2593: 'operator +=' is ambiguous 求助

system3288 发布于 2010-12-02 11:05, 5450 次点击
在编译《VC++深入详解》第五章的程序时,出现 error C2593: 'operator +=' is ambiguous 这个错误,不知道怎么解决,请各位大虾帮帮忙。注:我用的是VS 2008
这个错误是在 m_strLine += nChar; 这个语句中出现的。其中m_strLine是一个CString类型的成员变量,而nChar是一个UINT类型的形参。
都说是类型不匹配的问题,但是原理还是没有搞得太清,希望知道的高手帮忙详细说明一下原因,并指出要如何修改,谢谢。
5 回复
#2
红色警戒2010-12-02 13:44
字符串和UINT类型不能相加,可先吧nChar转换成字符串再相加,可参考CString.Format("%d", nChar);

[ 本帖最后由 红色警戒 于 2010-12-2 14:12 编辑 ]
#3
ml2325282010-12-04 22:51
CString可以加CString类和字符串,不能和int等类型相加

比如:
    CString str(_T("你好啊"));
    str += (TCHAR)48;
   
结果str是字符串 "你好啊0"
#4
system32882010-12-07 10:22
谢谢两位大哥哦
也可能是小弟。不过,一样要谢谢。
#5
shau2011-03-10 16:23
vc6里面没有问题,到了VS2008就要注意了
#6
张丹2011-05-25 13:24
学习了
1