VS2008 WIN32使用UNICODE字符问题

错误:

1> main.cpp(16) : error C2440: 初始化 : 无法从 const char [9] 转换为 LPCWSTR
1>        与指向的类型无关;转换要求reinterpret_cast、C 样式转换或函数样式转换
1>\main.cpp(18) : error C2664: CreateWindowExW : 不能将参数2 从 const char [9] 转换为 LPCWSTR
1>        与指向的类型无关;转换要求reinterpret_cast、C 样式转换或函数样式转换
1> main.cpp(33) : error C2664: UnregisterClassW : 不能将参数1 从 const char [9] 转换为 LPCWSTR
1>          与指向的类型无关;转换要求reinterpret_cast、C 样式转换或函数样式转换
 
原因:工程使用了 UNICODE 字符集
解决方法:
方法一:项目 -win32 窗口属性( ALT+F7 - 配置属性 -C/C++- 预处理器 - 预处理器定义(打开浏览) - 取消从父集或项目默认设置继承
方法二:加上语句 #include <TCHAR.h> 包含 TCHAR.h 文件,然后所有字符串都用 _T() 处理,如
"AppClass" 变为
_T("AppClass")

 

你可能感兴趣的:(error,转换,char,Const,LPCWSTR,类型无关)