VS2003与VC6.0的问题
定义一个CString的对象m_strLine,在函数void CTextView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 中,有语句:m_strLine+=nChar;这条语句在VC6.0中运行成功,但在VS2003中编译,出现如下错误:error C2593: “operator +=”不明确
d:\VS2003\Vc7\atlmfc\include\cstringt.h(1075): 可能是“ATL::CStringT<BaseType,StringTraits> &ATL::CStringT<BaseType,StringTraits>::operator +=(wchar_t)”
with
[
BaseType=char,
StringTraits=StrTraitMFC_DLL<char>
]
d:\VS2003\Vc7\atlmfc\include\cstringt.h(1068): 或 “ATL::CStringT<BaseType,StringTraits> &ATL::CStringT<BaseType,StringTraits>::operator +=(unsigned char)”
with
[
BaseType=char,
StringTraits=StrTraitMFC_DLL<char>
]
d:\VS2003\Vc7\atlmfc\include\cstringt.h(1061): 或 “ATL::CStringT<BaseType,StringTraits> &ATL::CStringT<BaseType,StringTraits>::operator +=(char)”
with
[
BaseType=char,
StringTraits=StrTraitMFC_DLL<char>
]
试图匹配参数列表“(CString, UINT)”时
我试图将nChar进行强制类型转化,m_strLine+=(CString)nChar;可想而知是通不过的,请问如何解决此问题,难道VS2003与VC6.0还有别的要求吗? --------------------编程问答-------------------- m_strLine+=(TCHAR)nChar; --------------------编程问答-------------------- 到了VS2005,有更多的需要类型转换。慢慢会习惯的。
补充:.NET技术 , VC.NET