#include <iostream>
struct Test
{
void(*func)();
} n;
void extn() { std::cout << "hi!\n"; }
int main()
{
n.func = extn;
void (*Test::*pF)() = &Test::func;
(n.*pF)();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgpzdHJ1Y3QgVGVzdAp7CiAgICB2b2lkKCpmdW5jKSgpOwp9IG47Cgp2b2lkIGV4dG4oKSB7IHN0ZDo6Y291dCA8PCAiaGkhXG4iOyB9CgppbnQgbWFpbigpCnsKICAgIG4uZnVuYyA9IGV4dG47CgogICAgdm9pZCAoKlRlc3Q6OipwRikoKSA9ICZUZXN0OjpmdW5jOwoKICAgIChuLipwRikoKTsKfQo=