Let's just put out correct code on calling member functions to avoid confusion...
I think I may be half to blame for not entirely reading the thread correctly...Code:class X { public: void foo(); }; typedef void (X::*X_foo_t)(); int main() { X_foo_t bar = &X::foo; X x; (x.*bar)(); return 0; }