Struct C void* pointeur

J'ai un struct défini comme:

typedef struct {
   int type;
   void* info;
} Data;

et puis j'ai plusieurs autres structures que je veux attribuer à l'void* à l'aide de la fonction suivante:

Data* insert_data(int t, void* s)
{
    Data * d = (Data*)malloc(sizeof(Data));
    d->type = t;
    d->info = s;

    return d;
}

struct {
   ...
} Struct#;

je viens d'appeler les

insert_data(1, variable_of_type_Struct#);

Quand je compile ce qu'il donne un avertissement

warning: assignment from incompatible pointer type

j'ai essayé d'exprimer la variable dans l'encart (void*), mais n'a pas de travail

insert_data(1, (void *) variable_of_type_Struct#);

Comment puis-je me débarrasser de cet avertissement?

Grâce

où exactement ?
Veuillez vérifier mon exemple de code.
Casting le résultat de malloc est inutile. Data * d = malloc(sizeof(Data)); suffirait.
J'ai l'impression de ces dièse '#' personnages dans votre code. Ils sont en relation avec les macros, pas sûr que font-ils dans votre code.
Pourquoi était-ce struct {...} Struct#; dans ton code? Je suis juste curieux.

OriginalL'auteur Nitrate | 2012-04-25