Casting

Question:
Hi,got a problem with a cast. Maybe someone out there knows how to solve it. How can I get this void pointer to act like (point to) my object?example:

	myClass* mc;	void *vp;	mc = new myClass;	vp = (void *)mc;	vp->some_func();	//this doesn’t work! Why!			//Bjorn

Answer:
Because vp is a void pointer, it has no way to determine the address of some_func relative to the value of vp.You can work around this two ways. One is to use a pointer of the appropriate type. The other is to type cast the void pointer when you use it like this:

	myClass* mc;	void *vp;	mc = new myClass;	vp = (void *)mc;	((myClass*)vp)->some_func();

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: