天衣有缝

冠盖满京华,斯人独憔悴~
posts - 35, comments - 115, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

  1 #include <unistd.h>
  2 #include <stdlib.h>
  3 #include <stdio.h>
  4 #include <string.h>
  5
  6 typedef void (*func_type)(void * obj, int num);
  7 class test_t
  8 {
  9 public:
 10         void test_func(int num)
 11         {
 12                 printf("num is %d\n", num);
 13         }
 14
 15         int a;
 16         int b;
 17
 18 };
 19
 20
 21 int main(int argc, char* argv[])
 22 {
 23         test_t obj;
 24         func_type p = &test_t::test_func;
 25         for(int i = 100; i < 104; i++)
 26                 p(&obj, i);
 27
 28         return 0;
 29 }
 30

程序比较简单,注意它的编译参数:
g++  -Wno-pmf-conversions   -O hello.cpp && ./a.out
否则编译不能通过。


Feedback

# re: c++普通成员函数转换成c函数指针的执行(原创)  回复  更多评论   

2009-03-29 20:22 by 高铭辰
你太伟大了~~呵呵,我正想做这个转换呢·~

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理