首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

pthread_create的第三个参数(函数入口)不能声明为某个类的成员函数吗?解决方案

2012-02-19 
pthread_create的第三个参数(函数入口)不能声明为某个类的成员函数吗?如果我用pthread_create来创建一个线

pthread_create的第三个参数(函数入口)不能声明为某个类的成员函数吗?
如果我用pthread_create来创建一个线程,
int   pthread_create   (pthread_t   *THREAD,pthread_attr_t   *   ATTR,
void*(*START_ROUTINE)(void   *),   void   *   ARG);

第三个参数指明了线程的入口,   是一个只有一个(void   *)参数的函数.

请问在cpp文件里,是不是这个第三个参数函数是不能声明为某个类的成员函数?我试过,好象是不可以。
如void   *classname::func(void   *arg)编译会报错。

只有声明为
void   *func(void   *arg)
才可以。
请问是只能声明为
void   *func(void   *arg)吗?

[解决办法]
不能,因为类成员(非静态)参数实际上有一个隐藏得this指针
[解决办法]
类成员的话,需要作成静态的。
[解决办法]
可以是全局函数或者某个类的静态成员函数,一般建议使用类的静态成员函数。

热点排行