0580 [´・ω・`] ppp0110.va-east.my-users.ne.jp
2006/01/28(土) 07:37:07ID:POcfhzFo0【板名*】PC等->プログラム
【スレ名*】C++相談室 part46
【スレのURL*】
http://pc8.2ch.net/test/read.cgi/tech/1136690107/l5
【名前欄】
【メール欄】
【本文*】↓
仮想関数のアドレスを得たいのですが、なぜかできません。
単に表示させるのはできるのですが、void型ポインタなどに入れることができません。
どうキャストすればいいのでしょうか?
#include <stdio.h>
class X
{
public:
virtual func() = 0;
};
class Y : public X
{
public:
virtual func(){ return 1; };
};
void main()
{
X *px = new Y;
printf("%08X\n", &px->func); // これは一応できる
void *pv = (void *)&px->func; // これはエラー
int i = (int)&px->func; // これもエラー
}