pthread
ライブラリを使用して、 range からのn
フィボナッチ数を計算しようとしています。myをに型キャストしようとすると、奇妙なエラーが発生します。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
void*
C でtoから型キャストできないdouble
のでしょうか、それとも単に間違っているのでしょうか?