struct bar
{
int barm;
static void a();
};
struct filler1 {int fm;};
struct filler2 {int fm;};
struct filler3 {int fm;};
struct filler4 {int fm;};
struct baz : filler1, bar, filler2
{
int bazm;
};
struct foo : filler3, virtual baz, filler4
{
static void a();
void b() {};
int m;
};
typedef void (bar::*barfPtr)();
typedef void (foo::*foofPtr)();
typedef int bar::*barmPtr;
typedef int foo::*foomPtr;
struct X;
typedef void (X::*xfPtr) ();
typedef int X::*xmPtr;
int main ()
{
{
foofPtr fp = &foo::b;
barfPtr bp = static_cast <barfPtr> (fp); foofPtr fp2 = static_cast <foofPtr> (bp); foofPtr fp3 = bp; fp3 = (foofPtr)bp;
foomPtr fmp = &foo::m;
barmPtr bmp = static_cast <barmPtr> (fmp); foomPtr fmp2 = static_cast <foomPtr> (bmp); foomPtr fmp3 = bmp; fmp3 = (foomPtr)bmp; }
return 0;
}