C struct to void* pointer
c, structure, void-pointers
Solution
Pass in the address of the struct, not a copy of it (i.e. not passed by value):
insert_data(1, &variable_of_type_Struct);
Problem
I have a struct defined as: ``` typedef struct { int type; void* info; } Data; ``` and then i have several other structs that i want to assign to the void* using the following function: ``` Data* insert_data(int t, void* s) { Data * d = (Data*)malloc(sizeof(Data)); d->type = t; d->info = s; return d; } struct { ... } Struct#; ``` then i just call ``` insert_data(1, variable_of_type_Struct#); ``` When i compile this it gives a warning ``` warning: assignment from incompatible pointer type ``` i tried to cast the variable in the insert to (void*) but didn't work ``` insert_data(1, (void *) variable_of_type_Struct#); ``` How can i get rid of this warning? Thanks