我在VS2010下学习使用DirectX SDK,照着书上的例子把代码敲进去,但是有一个问题始终无法解决。问题:创建窗口的时候,会出现报错"const char *" 类型的实参与 "LPCWSTR" 类型的形参不兼容WNDCLASSEX wc = {sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0, 0,
hInst, NULL, NULL, NULL, NULL, "UGPDX", NULL}; 我写上面这条语句的时候,"UGPDX"不被接受,书上的环境是VS2003,请问怎样才能让程序接收这个字符串?
hInst, NULL, NULL, NULL, NULL, "UGPDX", NULL}; 我写上面这条语句的时候,"UGPDX"不被接受,书上的环境是VS2003,请问怎样才能让程序接收这个字符串?
你这个问题其实是UNICODE与ANSI的问题,VS2010默认用的是UNICODE,而一般各种书的代码都是基于ANSI的。一般ANSI代码转UNICODE的话,字符常量前加_T。char改TCHAR就行了。
同感同感,DIRECTX中也是用VC6的开发吧,你用VS2010可以直接将项目转换成VS2010的,但是VC6的库和VS2010 有些不同,想必随着深入你也会遇到更多兼容的问题,网上会有不少这样的问题。