当前位置:编程学习 > C#/ASP.NET >>

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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,