今天我用vs2008编了一个非常简单的MFC应用程序,结果出现了下面这个错误:“CWnd::MessageBoxW”: 不能将参数 1 从“const char [6]”转换为“LPCTSTR”,错误代码为:MessageBox("HELLO");查了半天,终于解决了这个问题。
原来字符类型有两种:char 和 wchar_t。char 类型保证了有足够的空间,能够存储机器基本字符集中任何字符相应的数值,因此,char 类型通常是单个机器字节(byte)。wchar_t 类型用于扩展字符集,比如汉字和日语,这些字符集中的一些字符不能用单个 char 表示。 所以将上述代码改成MessageBox(_T("HELLO"));即可了。另外还有一种方法,就是项目属性——配置属性——常规,将字符集改成使用多字节字符集即可。