BtnST.h BtnST.cpp BCMenu.h BCMenu.cpp全部添加到工程下面,在vc6.0下编译能通过,但是在vs2005下编译通不过
BOOL BCMenu::ModifyODMenuW(wchar_t *lpstrText,wchar_t *OptionText,
int nIconNormal)
{
BCMenuData *mdata;
// Find the old BCMenuData structure:
CString junk=OptionText;
mdata=FindMenuOption(OptionText);
错误在CString junk=OptionText;错误信息为:
1>d:\test\svcplay1.7下午\svcplay\svcplay\bcmenu.cpp(1361) : error C2440: “初始化”: 无法从“wchar_t *”转换为“ATL::CStringT<BaseType,StringTraits>”
1> with
1> [
1> BaseType=char,
1> StringTraits=StrTraitMFC_DLL<char>
1> ]
1> class“ATL::CStringT<BaseType,StringTraits>”的构造函数声明为“explicit”
1> with
1> [
1> BaseType=char,
1> StringTraits=StrTraitMFC_DLL<char>
1> ]
如下修改就可以了:BOOL BCMenu::ModifyODMenuW(wchar_t *lpstrText,wchar_t *OptionText, int nIconNormal) { BCMenuData *mdata; // Find the old BCMenuData structure: CString junk(OptionText);
原因:
junk是ANSI,但是OptionText是wchar,不能直接赋值,需要转换,
CString junk=(CW2A)OptionText;
或者CString junk(OptionText);这样修改也是可以的
在将BtnST.h, BtnST.cpp, BCMenu.h, BCMenu.cpp添加到工程并尝试在VS2005中编译时遇到问题。由于junk是ANSI而OptionText是wchar,直接赋值会导致错误。解决方案是使用类型转换,如:CString junk=(CW2A)OptionText; 或 CString junk(OptionText);"
52016733,5677572,U-boot 2013.10版本移植到特定硬件平台的详细步骤,"['嵌入式开发', '硬件平台', 'U-boot移植']
1358

被折叠的 条评论
为什么被折叠?



