【发布时间】:2010-10-13 07:09:42
【问题描述】:
我是 Linux 编程新手。
我正在从线程返回一个值。但是在编译时它列出了一些错误。我在下面列出代码和错误。请帮助我了解错误的原因以及如何解决。
代码
#include <pthread.h>
#include <stdio.h>
void* compute_prime (void* arg)
{
int x = 2;
return (void*) x;
}
int main ()
{
pthread_t thread;
int prime;
pthread_create (&thread, NULL, &compute_prime, NULL);
pthread_join (thread, (void*) &prime);
printf("The returned value is %d.\n", prime);
return 0;
}
错误
$ g++ -othj pdfex.cpp -lpthread
pdfex.cpp: In function `int main()':
pdfex.cpp:17: error: invalid conversion from `void*' to `void**'
pdfex.cpp:17: error: initializing argument 2 of `int pthread_join(pthread_t, void**)'
我做错了什么?
【问题讨论】:
-
尝试重新发布并使用代码段的代码格式化按钮,否则格式化将被关闭。
标签: c++