游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6573|回复: 15

类成员函数指针做另一个类的成员函数参数时的问题

[复制链接]

14

主题

61

帖子

65

积分

注册会员

Rank: 2

积分
65
发表于 2005-8-16 12:25:00 | 显示全部楼层 |阅读模式
问题有点抽象哈~

这样,我有两个类Game和Display,Display中的页面恢复函数中需要调用一个重绘函数:

void ReloadBitmap(void (* pfunc)(void)){pfunc();},大家用过ddraw的都明白把。

这样我在Game中定义了一个重绘函数void ReloadGameBitmap()作为Game的成员函数,再new

了一个Display后,把ReloadGameBitmap的指针作为参数传给Display对象就应该可以了.然而编译

器报错:

f:\My Documents\Visual Studio Projects\Dx\Dx\Game.cpp(16): error C2440: “=” : 无法从“void (__thiscall Game::* )(void)”转换为“void (__cdecl *)(void)”

我看网上说普通的函数指针和类成员函数指针是不同的,不能转换。那有什么办法实现我的重

绘函数吗?请帮忙出个主意,谢谢了 [em10]

46

主题

281

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
发表于 2005-8-16 13:08:00 | 显示全部楼层

Re:类成员函数指针做另一个类的成员函数参数时的问题


void ReloadBitmap(void (* pfunc)(void)){pfunc();}
改成
void ReloadBitmap(void (Game::* pfunc)(void)){pfunc();}

这种时候,留着多态不用,搞这么麻烦。。。

14

主题

61

帖子

65

积分

注册会员

Rank: 2

积分
65
 楼主| 发表于 2005-8-16 19:40:00 | 显示全部楼层

Re:类成员函数指针做另一个类的成员函数参数时的问题

回楼上的,你的方法我想过,但我的Display是引擎中的类,Game类是对引擎的一个应用.如果游戏

的类名(在我这是Game)改变的话,岂不是每编一个游戏都要改引擎?

85

主题

824

帖子

878

积分

高级会员

Rank: 4

积分
878
QQ
发表于 2005-8-16 20:00:00 | 显示全部楼层

Re:类成员函数指针做另一个类的成员函数参数时的问题

恢复页面得函数应写在Display里~~

14

主题

61

帖子

65

积分

注册会员

Rank: 2

积分
65
 楼主| 发表于 2005-8-16 20:37:00 | 显示全部楼层

Re: Re:类成员函数指针做另一个类的成员函数参数时的问题

shenguhan: Re:类成员函数指针做另一个类的成员函数参数时的问题

恢复页面得函数应写在Display里~~


这个我当然知道~~~可除了恢复页面还要把页面的位图重新载入啊,但引

擎是不知道游戏都有那些位图资源的...... [em16]

0

主题

172

帖子

176

积分

注册会员

Rank: 2

积分
176
发表于 2005-8-16 20:59:00 | 显示全部楼层

Re:类成员函数指针做另一个类的成员函数参数时的问题

template

鉴定完毕。

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-8-16 21:19:00 | 显示全部楼层

Re:类成员函数指针做另一个类的成员函数参数时的问题

使用泛型啊!

14

主题

61

帖子

65

积分

注册会员

Rank: 2

积分
65
 楼主| 发表于 2005-8-16 21:35:00 | 显示全部楼层

Re: Re:类成员函数指针做另一个类的成员函数参数时的问题

lingjingqiu: Re:类成员函数指针做另一个类的成员函数参数时的问题

使用泛型啊!


c++啊..晕死 [em16] [em7]

85

主题

824

帖子

878

积分

高级会员

Rank: 4

积分
878
QQ
发表于 2005-8-16 22:38:00 | 显示全部楼层

Re:类成员函数指针做另一个类的成员函数参数时的问题

位图资源由Display载入,
同时保存该资源路径

14

主题

61

帖子

65

积分

注册会员

Rank: 2

积分
65
 楼主| 发表于 2005-8-16 23:49:00 | 显示全部楼层

Re:类成员函数指针做另一个类的成员函数参数时的问题

感谢shenguhan提供的办法!!看来目前我只有这个办法了,谢谢!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-27 10:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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