游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1982|回复: 2

关于函数指针如何指向类成员函数的问题?请高手指教~~谢谢

[复制链接]

7

主题

17

帖子

28

积分

注册会员

Rank: 2

积分
28
发表于 2008-3-21 10:38:00 | 显示全部楼层 |阅读模式
麻烦各位帮忙看一下,实在是解决不了了,谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢,
我的想法很简单,就是把不同类的某个函数全部放入到一个list中,然后遍历整个list运行,可老是不行啊
#include <iostream>
#include "list"
using namespace std;
template<class T>
class SyncObj
{
private:
        T *pObject;
        typedef void(T::*SyncMethod)();
        SyncMethod syncMethod;
public:
        SyncObj(T *pObject,SyncMethod method)
        {
                this->pObject=pObject;
                this->syncMethod=method;
        }
        void execute(void)
        {
       (pObject->*SyncMethod)();
        }
};
class Test1{
public:
        SyncObj<Test1> *objx;
        void printfx()
        {
                printf("hello~~~~~~~~~");
        }
        void ff()
        {
                objx=new SyncObj<Test1>(this,&Test1::printfx);
                objx->execute();//编译不过啊..
        }
};
void main()
{
  Test1 t;
}

14

主题

52

帖子

52

积分

注册会员

Rank: 2

积分
52
QQ
发表于 2008-3-21 18:36:00 | 显示全部楼层

Re:关于函数指针如何指向类成员函数的问题?请高手指教~~

这行(pObject->*SyncMethod)();

改成(pObject->*syncMethod)();

估计LZ笔误^_^

0

主题

15

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
发表于 2008-4-2 06:37:00 | 显示全部楼层

Re:关于函数指针如何指向类成员函数的问题?请高手指教~~

没大看懂LZ的代码
  指向类成员函数的指针不是指针,是它所指向的成员函数与类基址的偏移量
这个偏移量视编译器而定.
  
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 15:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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