// { 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() )(); | |
} |