secondsen 发表于 2010-9-4 19:23:15

VS08 C2664 Cannot convert char* to LPCWSTR

如题目

MessageBox(NULL,hge->System_GetErrorMessage(),"Error",XXXXX)

"Error" 改成 TEXT("Error")这样就可以了

第二个参数hge->System_GetErrorMessage()该怎么改啊??

或者是有什么别的办法啊?

shawind 发表于 2010-9-4 20:44:32

1.直接用MessageBoxA。
2.去hge源文件中,把ystem_GetErrorMessage中的关于char的处理全改成wchar的。
3.vc工程不再默认用unicode方式编译。
4.调用winapi如MultiByteToWideChar把ansi转码为unicode。

secondsen 发表于 2010-9-4 23:02:55

谢谢谢谢!

lw 发表于 2010-9-5 08:03:57

总是晚来一步呢^-^

tamashii 发表于 2010-9-27 23:24:15

在字符串前面加上L 就能把LPSTR变成LPWSTR了
比如 "Hello, world!" => L"Hello, world!"

还有就是VC中的方法一般都有两种
FunctionW();
FunctionA();
#ifdef UNICODE
#define Function() FunctionW()
#else
#define Function() FunctionA()
#endif

貌似来晚了,但我这是最直接,也最方便的方法 -_,-
页: [1]
查看完整版本: VS08 C2664 Cannot convert char* to LPCWSTR