Ошибка с адресом заключенной в скобки функции-члена

Я нашел кое-что интересное. Сообщение об ошибке говорит само за себя. В чем причина запрета использования скобок при получении адреса нестатической функции-члена? Я скомпилировал его в gcc 4.3.4.

#include <iostream>

class myfoo{
    public:
     int foo(int number){
         return (number*10);
     }
};

int main (int argc, char * const argv[]) {

    int (myfoo::*fPtr)(int) = NULL;

    fPtr = &(myfoo::foo);  // main.cpp:14

    return 0;

}

Ошибка: main.cpp: 14: error: ISO C ++ запрещает использование адреса неквалифицированной или заключенной в скобки нестатической функции-члена для формирования указателя на функцию-член. Скажите '& myfoo :: foo'

33
задан Lightness Races with Monica 21 August 2011 в 13:45
поделиться