游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1786|回复: 4

到底是什么原因?老是报这样的错.问题在帖子里面!

[复制链接]

4

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2010-5-20 20:06:00 | 显示全部楼层 |阅读模式
程序代码是这样的:


PlaySound((LPCSTR)IDW_CARHORN1, g_hInstance, SND_ASYNC | SND_RESOURCE);

报错信息的是:

错误        2        error C2664: 'PlaySoundW' : cannot convert parameter 1 from 'LPCSTR' to 'LPCWSTR'       

请问大神,这个怎么解决啊.....       

[em7]

86

主题

2251

帖子

2384

积分

金牌会员

Rank: 6Rank: 6

积分
2384
QQ
发表于 2010-5-21 00:16:00 | 显示全部楼层

Re:到底是什么原因?老是报这样的错.问题在帖子里面!

http://topic.csdn.net/t/20020826/20/971905.html

查以下关键字:
wchar_t
UNICODE
宽字符

86

主题

2251

帖子

2384

积分

金牌会员

Rank: 6Rank: 6

积分
2384
QQ
发表于 2010-5-21 00:22:00 | 显示全部楼层

Re:到底是什么原因?老是报这样的错.问题在帖子里面!

基本上,涉及到字符串的Win32 API都会有一个A版和一个W版。
通过条件宏绑定(#define)具体的版本。
UNICODE通用性更好一些,所以新版的VC默认是UNICODE的W版。

4

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2010-5-21 11:39:00 | 显示全部楼层

Re:到底是什么原因?老是报这样的错.问题在帖子里面!

通过条件宏#define绑定具体版本....

请问能具体点吗?

我在头文件中式这样的.....

#define<windows.h>
#define"Sprite.h"
#define"Bitmap.h"
#define"GameEngine.h"

请问是不是少了什么东西 我觉得应该是正确的...Bitmap是我的绘图类 Sprite是我的子画面类 GameEngine是我的游戏引擎......

86

主题

2251

帖子

2384

积分

金牌会员

Rank: 6Rank: 6

积分
2384
QQ
发表于 2010-5-22 02:52:00 | 显示全部楼层

Re:到底是什么原因?老是报这样的错.问题在帖子里面!

#ifdef UNICODE
#define CreateWindowEx  CreateWindowExW
#else
#define CreateWindowEx  CreateWindowExA
#endif // !UNICODE
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-9 14:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表