error C2440: “初始化”: 无法从“wchar_t *”转换为“ATL::CStringT<BaseType,StringTraits>”
2016-12-02 14:48
656 查看
转载来自:http://blog.csdn.net/u010921682/article/details/53160506
在使用MFC编译代码时出现下面的情况:
在使用MFC编译代码时出现下面的情况:
BOOL BCMenu::ModifyODMenuW(wchar_t *lpstrText,wchar_t *OptionText, int nIconNormal) { BCMenuData *mdata; // Find the old BCMenuData structure: CString junk=OptionText; // ...下面省略 }
错误提示:
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);
// ...下面
}
相关文章推荐
- error C2440: “初始化”: 无法从“wchar_t *”转换为“ATL::CStringT<BaseType,StringTraits>”
- 解决:错误1 error C2440: “初始化”: 无法从“char *”转换为“ATL::CStringT<BaseType,StringTraits>
- error C2440: “初始化”: 无法从“const char *”转换为“ATL::CStringT<BaseType,StringTraits>”
- “ATL::CStringT<BaseType,StringTraits>::operator +”: 3 个重载有相似的转换
- error C2664: “ATL::CStringT<BaseType,StringTraits>::Remove”: 不能将参数 1 从“const char [2]”转换为“char”
- VS2010 编码问题 不能将参数 1 从“ATL::CStringT<BaseType,StringTraits>”转换为“const char *”
- error C2664: “ATL::CStringT<BaseType,StringTraits>::Remove”: 不能将参数 1 从“const char [2]”转换为“char”
- error C2039: “SetWindowTextA”: 不是“ATL::CStringT<BaseType,StringTraits>”的成员
- Debug编译运行都没有问题,Release编译错误error C2664: 'ATL::CStringT<BaseType,StringTraits>::CStringT(const VARIANT
- error C2664: “void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”: 不能将
- Bug3 ---error C2039: “SetWindowTextA”: 不是“ATL::CStringT<BaseType,StringTraits>”的成员
- error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Format (...)
- “warning C4251::CStringT<BaseType,StringTraits>需要有 dll 接口”解决办法
- error C2663: 'ATL::CSimpleStringT<BaseType>::GetBuffer' : 2 overloads have no legal conversion for
- 解决error C2440: “初始化”: 无法从“std::_List_const_iterator<_Mylist>”转换为“std::_List_iterator<_Mylist>”
- 【CString与string转换】不存在从 "LPWSTR" 转换到 "std::basic_string<char, std::char_traits<char>, std::allocator(转)
- 使用log4cplus时遇到的链接错误:无法解析的外部符号 "public: static class log4cplus::Logger __cdecl log4cplus::Logger::getInstance(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,
- error C2440: 'initializing' : cannot convert from 'const char [11]' to 'ATL::CStringT<BaseType,Strin
- gmsh编译error C2440: “初始化”: 无法从“std::_Tree_iterator<_Mytree>”转换为“std::_Tree_iterator<_Mytree>”
- 无法将类型“System.Collections.Generic.List<anonymous type:string ClassID,string ClsssName>”隐式转换为“System.Collections.Generic.List<Ecology.Model.EnergyFlowGraph>”