当前位置: 技术问答>linux和unix
一个pthread_create 编译出错,是什么原因啊
来源: 互联网 发布时间:2016-12-17
本文导语: 我开了 一个线程, ret = pthread_create (&recvId, NULL, (void *)recvUdp, NULL);// int recvUdp() { } 调用的时候编译出现问题了,错误显示: ..//box.cpp:148: error: invalid conversion from `void*' to `void*(*)(void*)' ..//box.cpp:148: error: ...
我开了 一个线程, ret = pthread_create (&recvId, NULL, (void *)recvUdp, NULL);//
int recvUdp()
{
}
调用的时候编译出现问题了,错误显示:
..//box.cpp:148: error: invalid conversion from `void*' to `void*(*)(void*)'
..//box.cpp:148: error: initializing argument 3 of `int pthread_create(pthread_t*, const pthread_attr_t*, void*(*)(void*), void*)'
如果 不调用 pthread_create (&recvId, NULL, (void *)recvUdp, NULL);编译可以通过!! 这是什么原因啊?????
int recvUdp()
{
}
调用的时候编译出现问题了,错误显示:
..//box.cpp:148: error: invalid conversion from `void*' to `void*(*)(void*)'
..//box.cpp:148: error: initializing argument 3 of `int pthread_create(pthread_t*, const pthread_attr_t*, void*(*)(void*), void*)'
如果 不调用 pthread_create (&recvId, NULL, (void *)recvUdp, NULL);编译可以通过!! 这是什么原因啊?????
|
typedef void* (*THREADFUN)(void*);
ret = pthread_create (&recvId, NULL, (THREADFUN)recvUdp, NULL);
试试
ret = pthread_create (&recvId, NULL, (THREADFUN)recvUdp, NULL);
试试