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指针的传递,因为要在全局函数中接受当前对象的指针。
至于其他的办法以后慢慢总结。
阅读(1421) | 评论(3) | 转发(1) |