如何将传递成员函数地址?

laozhongcheng 2001-05-26 04:00:00
请大家帮帮我,如何将类中的成员函数的地址传递给函数?
听说CSDN曾经有这方面的讨论,请给予文档的链接。
很多Windows底层函数(如WAVE、MIDI底层函数)均需要传递消息处理函数的地址,可是我想将所有函数封装到类中去,除了将函数指定为static类型,但将函数指定成static类型之后,在重载函数方面显得比较笨拙,有没有其他的方法可以传递成员函数地址。
...全文
81 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hitman 2001-05-26
  • 打赏
  • 举报
回复
struct A{
void f();
};
typedef void(A::*p)();
p fp=A::f;
enterzhuang 2001-05-26
  • 打赏
  • 举报
回复
同意上楼。
Nicrosoft 2001-05-26
  • 打赏
  • 举报
回复
必须将函数定为 static,这样才不会有 this指针参数
kalling 2001-05-26
  • 打赏
  • 举报
回复
由于类的成员函数在编译是会增加一个this指针作为参数,类型是 CYourclass *,所以打多数情况下无法用于WinProc或callback函数,(参数类型不符)

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧