Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Beginner
Mar 13, 1998

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();
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date