VS2010字符串相加的问题

来源:互联网 发布:泳衣 知乎 编辑:程序博客网 时间:2024/05/19 23:12

孙鑫那本教材上第5章:文本编程中,有用到字符串加法+=,平台是VC6.0,可是在VS2010中,编译出错,百度得到问题解答如下:

CString 有两个 += 的运算符重载,一个接受 LPCTSTR 类型的参数,用于在当前 CString 对象的末尾追加一个字符串;另一个接受 TCHAR 类型的参数,用于在当前 CString 对象的末尾追加一个字符。UINT 不能隐式转换为 TCHAR 类型,也不能隐式转换为 LPCTSTR,所以编译器无法得知你要调用哪个运算符重载。你必须把 nChar 强制转换为 TCHAR。

书中语句:m_strLine = m_strLine + nChar;   //nChar是UINT型

应该改为m_strLine = m_strLine + (TCHAR)nChar;

1 0
原创粉丝点击