rt_gccstream/gcc/testsuite/g++.dg/torture/pr33589-1.C

23 lines
396 B
C

// { dg-do compile }
struct base { void somemethod() {} };
struct derived : public base { };
struct smartpointer
{
~smartpointer() { }
operator derived*() const
{
return 0;
}
};
typedef void ( derived::* methodptr_type )();
methodptr_type getmemberptr()
{
return &derived::somemethod;
}
void somefunction()
{
smartpointer pObj;
( pObj->*getmemberptr() )();
}