【发布时间】:2012-09-23 21:39:26
【问题描述】:
我正在尝试使用pthread 库来计算n 斐波那契数,其中n 可以来自0-1000 范围。当我尝试将我的 void* 类型转换为 double 时,我遇到了一个奇怪的错误。
这里主要是我对计算斐波那契函数的调用:
pthread_create(&tid, &attr, calc_fib, (void *)n);
在我的 calc_fib 函数中,我尝试使用以下方式进行类型转换:
void *calc_fib( void *num)
{
double n;
n = (double)num;
...
但是,当我尝试这样做时,会出现以下错误:
In function ‘calc_fib’:
error: pointer value used where a floating point value was expected
In function ‘main’:
error: cannot convert to a pointer type
我无法在 C 中从 void* 类型转换为 double 还是我做错了?
【问题讨论】:
标签: c pointers pthreads type-conversion