用MFC实现简易记事本功能时遇到的 operator += 不明确错误?

来源:百度知道 编辑:UC知道 时间:2024/05/31 16:46:41
我用MFC实现简易的记事本字符输入(包括判断回车与退格功能),截图部分是CView派生类的代码。

编译时遇到: “operator +=”不明确 错误,请问这是什么原因?

注:
m_strLine为公有CString类型,用于保存当前输入字符串。
m_ptOrigin是私有CPoint类型,用于存储当前鼠标位置。

MFC对CPoint没有提供+=的操作重载。
因此你对m_ptOrigin进行+=操作自然会报错。

CString类是有+=操作的。

打开cstringt.h头文件,注释掉char操作的char 和unsinged char的两个操作运算,只留下wchar的操作运算 因为VC++在编译的时候对cstring的+=操作有三种,导致不明白使用哪一种

把m_strline +=nChar;
改为:m_strline +=(char)nChar;
就ok了