首页 热点资讯 义务教育 高等教育 出国留学 考研考公

一个C语言多线程编译的时候 ,提示出错在16行:expected primary-expression before ‘void’ 没弄懂

发布网友 发布时间:2022-04-23 06:27

我来回答

2个回答

热心网友 时间:2023-10-05 09:00

ret=pthread_create(&id,NULL,void*thread,NULL);
错了
改为:

ret=pthread_create(&id,NULL,thread,NULL);追问改完之后又出错:41.cpp:16:41: 错误: 从类型‘void (*)()’到类型‘void* (*)(void*)’的转换无效 [-fpermissive]
/usr/include/pthread.h:225:12: 错误: 初始化‘int pthread_create(pthread_t*, const pthread_attr_t*, void* (*)(void*), void*)’的实参 3 [-fpermissive]

追答void thread(void)改为
void* thread(void*)


// 。。。
return((void *)0);


可以参考:
http://ke.baidu.com/view/1797052.htm
是因为写法不一样而已。。
你的原意思是用强制类型转换,
应该用:
(void*(*)(void*))thread
也可以

热心网友 时间:2023-10-05 09:00

第 15 行,把 void * 去掉试试。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com