Convertir void* à double

Je suis en essayant d'utiliser le pthread bibliothèque pour calculer n nombres de fibonacci où n peut être de gamme 0-1000. Je suis en cours d'exécution dans une étrange erreur quand j'essaie de transtypage de mon void* à un double.

Dans mon principal ici est de mon appel à mon calculer la fonction de fibonacci:

pthread_create(&tid, &attr, calc_fib, (void *)n);

Dans mon calc_fib fonction que j'essaie de transtypage avec:

void *calc_fib( void *num)
{
    double n;
    n = (double)num;
    ...

Cependant, quand j'essaye de faire cela, j'obtiens les erreurs suivantes:

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

Suis-je pas capable de transtypage de void* à double en C ou suis-je seulement fait-il mal?

InformationsquelleAutor Nic Young | 2012-10-03