码迷,mamicode.com
首页 > 其他好文 > 详细

VC项目中,构造 CString 时,提示 explicit constructors (C2440) 的解决方法

时间:2014-08-12 17:06:24      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:c++   visual c++   cstring   unicode   

其实还是 ANSI 和 UNICODE 编码的问题。


可以使用宏 _T() 包裹字符串,使得 ANSI 和 UNICODE 兼容。如

CString strJustAnother (_T ("This is a TCHAR string a.k.a. LPCTSTR"));


或者,给那些不想改代码人的偷懒方法,屏蔽掉这个编译错误:


在 stdafx.h 文件中你一般会发现这个宏  _ATL_CSTRING_EXPLICIT_CONSTRUCTORS 的声明。

#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS      // 某些 CString 构造函数将是显式的

把它屏蔽掉即可。

当然了,这样做的结果也是有副作用的。从此以后,对于工程中 CString 对象的隐式类型转换,编译器就不会给你任何警告了。

VC项目中,构造 CString 时,提示 explicit constructors (C2440) 的解决方法,布布扣,bubuko.com

VC项目中,构造 CString 时,提示 explicit constructors (C2440) 的解决方法

标签:c++   visual c++   cstring   unicode   

原文地址:http://blog.csdn.net/genfeng/article/details/38517407

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!