from void* back to an object

Go4Expert Member
17Sep2007,18:52   #1
mad_girl's Avatar
now here's the problem
i'm trying to make a linked list store different types of data object (which i don know what they r now)
so i used void* like this
//for example a node of int
node<userDefindData>* n;
void* ptr=n;
and now i have the address of my node in my ptr ,but how can i treat this pointer as an object
and call its functions???????
Go4Expert Founder
17Sep2007,20:29   #2
shabbir's Avatar
Make an object pointer and cast the void pointer to the object pointer and that should allow you to call the functions of that object.
Go4Expert Member
17Sep2007,20:41   #3
mad_girl's Avatar
firstly if i'm using node to store userDefinedData1, userDefinedData2, userDefinedData3 and i don know now which of them this pointer refering to so i can't make the cast..
secondly it gives me an error on a statement like this
node<userDefinedData>* k=dynamic_cast<node<userDefindData>*>(ptr);
Go4Expert Founder
18Sep2007,09:11   #4
shabbir's Avatar
If you do not know what type of object it is you should also not know what function to call.