| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 943 人关注过本帖
标题:VC++中的一个指针调用函数的问题
取消只看楼主 加入收藏
风之子MIKEY
Rank: 3Rank: 3
来 自:江西省抚州市
等 级:论坛游侠
帖 子:39
专家分:108
注 册:2012-9-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
VC++中的一个指针调用函数的问题
class Test
{
   
public:
    void (test::*fp)(void);   
    void fun()
    {
        printf("Test fun \n");
        return ;
    }
     

    void init()
    {        
        fp=fun;        
        return ;

    }
};
main()
{
  Test t;
  t.init();
  t.fp();//////这里编译出错error C2064: term does not evaluate to a function
}
我要如何才能通过指针去调用fun函数
搜索更多相关主题的帖子: public void function return 
2012-10-21 14:51
风之子MIKEY
Rank: 3Rank: 3
来 自:江西省抚州市
等 级:论坛游侠
帖 子:39
专家分:108
注 册:2012-9-25
收藏
得分:0 
不行,你去掉test::
  void init()
{
   fp=fun;不行。//error C2440: '=' : cannot convert from 'void (__thiscall test::*)(void)' to 'void (__cdecl *)(void)'
   return ;
}
2012-10-21 16:36
风之子MIKEY
Rank: 3Rank: 3
来 自:江西省抚州市
等 级:论坛游侠
帖 子:39
专家分:108
注 册:2012-9-25
收藏
得分:0 
class Test
{
   
public:
    void (test::*fp)(void);   
    void fun()
    {
        printf("Test fun \n");
        return ;
    }
     

    void init()
    {        
        fp=fun;  
            
        return ;

    }
};
main()
{
  Test t;
  t.init();
  t.fp();//////这里编译出错error C2064: term does not evaluate to a function
  改为:(t.*t.fp)();就可以啦。
}
找了很久才找到。
2012-10-21 17:06
快速回复:VC++中的一个指针调用函数的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013505 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved