incompatible pointer type en C

donc je suis en train de passer d'un type de double * à une fonction qui accepte void ** comme l'un des paramètres. C'est l'avertissement que je reçois.

incompatible pointer type passing 'double **' to parameter of type 'void **'

Voici un extrait de mon code.

int main( void )
{
    // Local Declaration
    double *target;

   //  Statement
   success = dequeue(queueIn, &target);
}

Voici le prototype de la déclaration de la fonction.

int    dequeue     ( QUEUE *queue, void **dataOutPtr );

J'ai pensé que si je passais la cible en deux au niveau du pointeur que cela pourrait fonctionner, mais je suppose que je me trompe. Quelqu'un peut-il m'expliquer comment se fait-je suis de cet avertissement?

  • Le type de signature pour la file d'attente attentes pointeur vers un pointeur. Regardez à nouveau.
  • double possible de Est nulle** acceptable de type ANSI-C?
  • ideone.com/VGvqFe
  • C'est très probablement un doublon de stackoverflow.com/questions/246280/...
  • Consulter les liens ci-dessus(par moi et Cody Gris).Vous pourrez trouver de bonnes réponses à cette question.
  • Donc, vous avez résolu le casting de l'émission. Le plus gros problème est probablement ce formulaire de données de la dequeue fonction attend. Je parie que ce n'est pas un pointeur vers un pointeur non initialisée à double.

InformationsquelleAutor Nathan | 2013-04-23