#include <iostream>
class C
{
public:
void f() { std::cout << "f()\n"; }
void g() const { std::cout << "g()\n"; }
typedef void (C::*fp)();
};
int main() {
C::fp pointer = &C::f;
C c;
(c.*pointer)();
pointer = &C::g; // Не работает
(c.*pointer)();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgQwp7CnB1YmxpYzoKICAgIHZvaWQgZigpIHsgc3RkOjpjb3V0IDw8ICJmKClcbiI7IH0KICAgIHZvaWQgZygpIGNvbnN0IHsgc3RkOjpjb3V0IDw8ICJnKClcbiI7IH0KICAgIHR5cGVkZWYgdm9pZCAoQzo6KmZwKSgpOwp9OwoKaW50IG1haW4oKSB7CiAgICAKICAgIEM6OmZwIHBvaW50ZXIgPSAmQzo6ZjsKICAgIAogICAgQyBjOwogICAgCiAgICAoYy4qcG9pbnRlcikoKTsKICAgIAogICAgcG9pbnRlciA9ICZDOjpnOyAvLyDQndC1INGA0LDQsdC+0YLQsNC10YIKICAgIAogICAgKGMuKnBvaW50ZXIpKCk7CgkKCXJldHVybiAwOwp9