// 일반 멤버 함수포인터를 만들 때에는 thiscall을 생각해서 'Point::'를 추가해주자!!
// void(Point::*f3)() = &Point::hoo;
class Point
{
public:
        //this가인자로전달되지않는멤버함수.
        static void foo( int a )
        { cout << "foo()" << endl; }
        void hoo()
        { cout << "hoo()" << endl; }
};
void goo( int a )
{
        cout << "goo()" << endl;
}
int main()
{
        void(*f1)(int) = &goo;
void(*f2)(int) = &Point::foo;
        // 일반멤버함수의 주소
        void(Point::*f3)() = &Point::hoo;
        //f3(); // 될까? 안된다-> 객체가없다. this를전달해주지못한다.
        Point p;
        (p.*f3)();   // ()로.을 우선으로 연산하고 *를 하여서 함수포인터를 호출!
}