一个项目从在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> ]
展开
 我来答
百度网友a2c7f1d
2011-08-19 · TA获得超过276个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:250万
展开全部
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之类的能避免很多错误。
黑海豹子
2011-08-17 · TA获得超过242个赞
知道小有建树答主
回答量:206
采纳率:100%
帮助的人:210万
展开全部
先设置断点,一步一步的调试来找错误,那地方报错那地方就是问题所在,如果可以把程序帖出来,因为同一种报错有很多种不同的错误,所以最好是有程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
l976588195
2011-08-19
知道答主
回答量:4
采纳率:0%
帮助的人:6775
展开全部
治疗贫血。使难以吸收利用的三价铁还原成二价铁,促进畅道对铁的吸收,提高肝脏对铁的利用率,有助于治疗缺铁性贫血。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-16
展开全部
要注意字符的处理,vc6和vs2008(也就是vc8)对字符处理是不同的,还有vs2008和语言标准更接近了
追问
我的项目很大,我应该怎么定位出错的地方在哪里?
追答
哪儿进行字符处理的就去哪儿找
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式