26 lines
303 B
C
26 lines
303 B
C
// PR c++/16810
|
|
|
|
struct C {
|
|
virtual void f() {}
|
|
};
|
|
|
|
struct B {virtual ~B() {} };
|
|
|
|
class D : public B, public C
|
|
{
|
|
public:
|
|
virtual void f() {}
|
|
};
|
|
|
|
typedef void ( C::*FP)();
|
|
typedef void ( D::*D_f)();
|
|
|
|
int main() {
|
|
D *d = new D();
|
|
C *c = d;
|
|
|
|
const FP fptr = (FP) &D::f;;
|
|
(d->* (D_f)fptr)();
|
|
}
|
|
|