提问人:Yash Gupta 提问时间:5/3/2022 最后编辑:Yash Gupta 更新时间:5/3/2022 访问量:529
void *function() 在 C++ 中使用类的对象在 main 中调用 [duplicate]
void *function() to call in main using the object of class in c++ [duplicate]
问:
这个问题在这里已经有答案了:
使用 void* 正确将对象传递给 pthread_create() (2 个答案)
去年关闭。
这篇文章是去年编辑并提交审查的,但未能重新打开该帖子:
原始关闭原因未解决
我想使用类的对象在 main 中调用 void *函数
class SERVER{
public:
void *handle_client(void *arg){
...
}
};
int main(){
SERVER s1;
pthread_create(&tid, NULL, &handle_client, (void*)cli);
//how to call handle_client using s1 object
}
调用函数在 pthread.h 中预定义,语法为:
int pthread_create(pthread_t *限制线程, const pthread_attr_t *限制 attr, 无效 *(*start_routine)(无效 *), void *restrict arg);
答:
0赞
Edmunoz1030
5/3/2022
#1
为了能够在 main 中调用它,您需要创建一个 SERVER 类的实例来调用它。例:
class SERVER
{
public:
void *function()
{
return 0; //do whatever you would like in here
}
};
int main()
{
SERVER s1;
s1.function();
}
评论
0赞
Yash Gupta
5/3/2022
其实我是编码新手:在这个函数中,我想调用第三个参数handle_client其声明如下:使用名为 serve 的类的对象pthread_create(&tid, NULL, &handle_client, (void*)cli);
void *handle_client(void *arg)
评论
function
void*
void* some_ptr = s1.function()
pthread_create(&tid, NULL, &handle_client, (void*)cli);
void *handle_client(void *arg)
pthread_create
s1.function();