一个项目从在VC6.0中可以正常运行,但是到VC2005就提示错误了,错误代码如下,我应该怎么改?
1>StdAfx.cpp1>d:\programfiles\microsoftvisualstudio8\vc\atlmfc\include\cstringt.h(131...
1>StdAfx.cpp
1>d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(1316) : error C2535: 'ATL::CStringT<BaseType,StringTraits> &ATL::CStringT<BaseType,StringTraits>::operator =(TCHAR)' : member function already defined or declared
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(1308) : see declaration of 'ATL::CStringT<BaseType,StringTraits>::operator ='
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2521) : see reference to class template instantiation 'ATL::CStringT<BaseType,StringTraits>' being compiled
1>d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(1316) : error C2535: 'ATL::CStringT<BaseType,StringTraits> &ATL::CStringT<BaseType,StringTraits>::operator =(TCHAR)' : member function already defined or declared
1> with
1> [
1> BaseType=char,
1> StringTraits=StrTraitMFC_DLL<char>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(1308) : see declaration of 'ATL::CStringT<BaseType,StringTraits>::operator ='
1> with
1> [
1> BaseType=char,
1> StringTraits=StrTraitMFC_DLL<char>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\afxstr.h(83) : see reference to class template instantiation 'ATL::CStringT<BaseType,StringTraits>' being compiled
1> with
1> [
1> BaseType=char,
1> StringTraits=StrTraitMFC_DLL<char>
1> ]
1>d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(1316) : error C2535: 'ATL::CStringT<BaseType,StringTraits> &ATL::CStringT<BaseType,StringTraits>::operator =(TCHAR)' : member function already defined or declared
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(1308) : see declaration of 'ATL::CStringT<BaseType,StringTraits>::operator ='
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\afxstr.h(85) : see reference to class template instantiation 'ATL::CStringT<BaseType,StringTraits>' being compiled
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ] 展开
1>d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(1316) : error C2535: 'ATL::CStringT<BaseType,StringTraits> &ATL::CStringT<BaseType,StringTraits>::operator =(TCHAR)' : member function already defined or declared
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(1308) : see declaration of 'ATL::CStringT<BaseType,StringTraits>::operator ='
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(2521) : see reference to class template instantiation 'ATL::CStringT<BaseType,StringTraits>' being compiled
1>d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(1316) : error C2535: 'ATL::CStringT<BaseType,StringTraits> &ATL::CStringT<BaseType,StringTraits>::operator =(TCHAR)' : member function already defined or declared
1> with
1> [
1> BaseType=char,
1> StringTraits=StrTraitMFC_DLL<char>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(1308) : see declaration of 'ATL::CStringT<BaseType,StringTraits>::operator ='
1> with
1> [
1> BaseType=char,
1> StringTraits=StrTraitMFC_DLL<char>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\afxstr.h(83) : see reference to class template instantiation 'ATL::CStringT<BaseType,StringTraits>' being compiled
1> with
1> [
1> BaseType=char,
1> StringTraits=StrTraitMFC_DLL<char>
1> ]
1>d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(1316) : error C2535: 'ATL::CStringT<BaseType,StringTraits> &ATL::CStringT<BaseType,StringTraits>::operator =(TCHAR)' : member function already defined or declared
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\cstringt.h(1308) : see declaration of 'ATL::CStringT<BaseType,StringTraits>::operator ='
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ]
1> d:\program files\microsoft visual studio 8\vc\atlmfc\include\afxstr.h(85) : see reference to class template instantiation 'ATL::CStringT<BaseType,StringTraits>' being compiled
1> with
1> [
1> BaseType=wchar_t,
1> StringTraits=StrTraitMFC_DLL<wchar_t>
1> ] 展开
4个回答
展开全部
vc6.0和vs2003是使用ascii编码,但是到后2005之后就变成了unicode编码。所以如果6.0的程序没有注意的话经常因为字符串的问题出错。
比如说6.0中很简单的一句话 CString str = "111";在2005中是通不过的,需要使用CString str = "111"L;当然更好的写法是CString str = _T("111");这样不管是在6.0还是2005都能编译通过。
遇见字符串尽量使用tchar.h中的函数吧。使用TCHAR替换char之类的能避免很多错误。
比如说6.0中很简单的一句话 CString str = "111";在2005中是通不过的,需要使用CString str = "111"L;当然更好的写法是CString str = _T("111");这样不管是在6.0还是2005都能编译通过。
遇见字符串尽量使用tchar.h中的函数吧。使用TCHAR替换char之类的能避免很多错误。
展开全部
先设置断点,一步一步的调试来找错误,那地方报错那地方就是问题所在,如果可以把程序帖出来,因为同一种报错有很多种不同的错误,所以最好是有程序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
治疗贫血。使难以吸收利用的三价铁还原成二价铁,促进畅道对铁的吸收,提高肝脏对铁的利用率,有助于治疗缺铁性贫血。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-08-16
展开全部
要注意字符的处理,vc6和vs2008(也就是vc8)对字符处理是不同的,还有vs2008和语言标准更接近了
追问
我的项目很大,我应该怎么定位出错的地方在哪里?
追答
哪儿进行字符处理的就去哪儿找
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询