读书人

error C2593: “operator +=”不明确,

发布时间: 2012-04-20 15:27:03 作者: rapoo

error C2593: “operator +=”不明确
view sourceprint?01 void CTextView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)

02 {

03 // TODO: 在此添加消息处理程序代码和/或调用默认值

04 CClientDC dc(this);

05 TEXTMETRIC tm;

06 dc.GetTextMetrics(&tm);

07 if(0x0d == nChar)

08 {

09 m_strLine.Empty();

10 m_ptOrigin.y += tm.tmHeight;

11 }

12 else if (0x08 == nChar)

13 {

14 COLORREF clr = dc.SetTextColor(dc.GetBkColor());

15 dc.TextOut(m_ptOrigin.x,m_ptOrigin.y,m_strLine);

16 m_strLine = m_strLine.Left(m_strLine.GetLength() - 1);

17 dc.SetTextColor(clr);

18 }

19 else

20 {

21 m_strLine += nChar;

22 }

23

24 dc.TextOut(m_ptOrigin.x,m_ptOrigin.y,m_strLine);

25

26 CView::OnChar(nChar, nRepCnt, nFlags);

27 }

编译时出现“operator +=”不明确,也就是m_strLine += nchar



大家帮忙分析一下是什么原因?我用的是vs2005。谢谢喽!!



[解决办法]
m_strLine += (BYTE)nchar;
[解决办法]
UINT类型的nchar直接加入到cstring类型中自然会有提示的,最好用FORMAT转换下格式比较好
[解决办法]
CString tS;
tS.format("%c",nchar);
m_strLine += tS;
[解决办法]
m_strLine += nChar; nChar是UINT类型。转换方法如5楼,但是不知你这样做的目的是什么。
[解决办法]

C/C++ code
CString strTemp;strTemp.Format("%d", nChar);m_strLine += strTemp;
[解决办法]
方法如5、7楼提供的那样
[解决办法]
探讨
方法如5、7楼提供的那样

读书人网 >VC/MFC

热点推荐