1 // { dg-do assemble } 2 // GROUPS passed bad-errors 3 #include <iostream> 4 5 class ParX 6 { 7 public: ParX()8 ParX() {} 9 }; 10 11 class X : public ParX 12 { 13 public: fn2()14 void fn2() { std::cout << "hi" << std::endl; } 15 }; 16 main()17int main() 18 { 19 X x; 20 ParX* pParX = &x; 21 void (ParX::*p)() = (void (ParX::*)()) &X::fn2; // line 19 22 23 (pParX->*p)(); 24 } 25 26 27 28 29 30 31