blob: eea89f421a577f7db84c24392d9a443d821cbddd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// { 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() )();
}
|