Chinaunix
标题:
c++类成员函数作为pthread_create参数时类型不匹配的问题
[打印本页]
作者:
MyStar_api
时间:
2008-01-11 21:15
标题:
c++类成员函数作为pthread_create参数时类型不匹配的问题
比如在类A中有成员函数void * abc(void* arg)
A a;//构造对象a
pthread_t i;
pthread_create(&i,NULL,a.abc,NULL);
出错提示:void* (class A:
(void *)does not match void* (*)(void*);
类型不匹配,如何解决?
作者:
lgfang
时间:
2008-01-11 22:35
发代码的时候用代码标记上。
pthread_create 的参数必须是静态成员函数,否则你光传一个函数,它怎么和某个对象对应起来?
严格地说,如果一个类的非静态成员函数的原型(signature)为 void * start_routine(void *),那么它的实际类型并不是 void * start_routine(void *) ,因为编译时编译器会它转成类似 void* f(Type* this, void*) 的类型。
[
本帖最后由 lgfang 于 2008-1-11 22:43 编辑
]
作者:
MyStar_api
时间:
2008-01-12 15:20
标题:
还是不行
我用了静态成员函数但还是不行 提示问题还是一样
作者:
MyStar_api
时间:
2008-01-12 15:26
问题已解决 是我太粗心饿 谢谢
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2