Chinaunix首页 | 论坛 | 博客
  • 博客访问: 696882
  • 博文数量: 129
  • 博客积分: 2221
  • 博客等级: 大尉
  • 技术积分: 1620
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-09 11:27
个人简介

do{goodgoodstudy();daydayup();}while(!died)

文章分类

全部博文(129)

文章存档

2012年(26)

2011年(103)

分类: C/C++

2011-05-16 14:07:46

   c语言中定义线程void* accept_thread(void *arg){}就行了,但是C++中却由于一些命名空间空间的限制而不能这样做。
    可以采用方法一:将该函数定义成静态方法static void* accept_thread(void *arg){},C++的静态方法和C的不同,C只是限定作用域,而C++静态成员函数为类的全部服务而不是为某一个类的具体对象服务,它不具有this指 针,它无法访问属于类对象的非静态数据成员,也无法访问非静态成员函数,它只能调用其余的静态成员函数。
    方法二、定义全局的void*accept_thread_proc(void *arg){}内部调用成员函数void* accept_thread(void *arg){}注意this指针的传递,因为要在全局函数中接受当前对象的指针。
    至于其他的办法以后慢慢总结。
阅读(1387) | 评论(3) | 转发(1) |
给主人留下些什么吧!~~

GFree_Wind2011-05-18 22:15:54

呵呵,本质上是没有区别的。

aoyang8882011-05-18 19:29:16

GFree_Wind: 其实C++的static函数跟C没有什么区别。.....
C++的类中定义的static函数 与C  有点区别吧
我也说不好

GFree_Wind2011-05-18 12:20:06

其实C++的static函数跟C没有什么区别。