error C2440: ‘initializing’ : cannot convert from ‘wchar_t *’ to ‘ATL::CStringT

京东自营,扫码进入

在使用MFC编译代码时出现下面的情况:

C++零基础程序设计 C语言从入门到精通 编程入门零基础自学C语言程序设计编程游戏书 计算机程序数据基础教程书籍
C++零基础程序设计 C语言从入门到精通 编程入门零基础自学C语言程序设计编程游戏书 计算机程序数据基础教程书籍
畅销20余年的C++编程入门教程 全面更新 | 月销量700件
优惠价44.5元
原价¥90

淘口令:

¥uhif2PNwFtr¥
 

error C2440: ‘initializing’ : cannot convert from ‘wchar_t *’ to ‘ATL::CStringT<BaseType,StringTrait

相关的代码如下:

  1. BOOL BCMenu::ModifyODMenuW(wchar_t *lpstrText,wchar_t *OptionText,
  2.                            int nIconNormal)
  3. {
  4.     BCMenuData *mdata;
  5.     // Find the old BCMenuData structure:
  6.     CString junk=OptionText;
  7.     // …下面省略

错误提示:

  1. error C2440: “初始化”: 无法从“wchar_t *”转换为“ATL::CStringT<BaseType,StringTraits>”
  2. 1>          with
  3. 1>          [
  4. 1>              BaseType=char,
  5. 1>              StringTraits=StrTraitMFC_DLL<char>
  6. 1>          ]
  7. 1>          class“ATL::CStringT<BaseType,StringTraits>”的构造函数声明为“explicit
  8. 1>          with
  9. 1>          [
  10. 1>              BaseType=char,
  11. 1>              StringTraits=StrTraitMFC_DLL<char>
  12. 1>          ]

正确方式(语法检查和编译检查比较严格):

  1. BOOL BCMenu::ModifyODMenuW(wchar_t *lpstrText,wchar_t *OptionText,
  2. int nIconNormal)
  3. {
  4. BCMenuData *mdata;
  5. // Find the old BCMenuData structure:
  6. CString junk(OptionText);
  7. // ...下面
  8. }
© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片