LINUX.ORG.RU

Указатель на метод класса в C++


0

0

Упрощенный код

class Class1 {

public:

void funct(void) {

cout << "hello" << endl;

}

};

typdef void (Class1::*ptrFunc)(void);

int main() {

Class1 class1;

ptrFunc ptr = &Class1::funct;

class1.*ptr();

return 0;

}

С точки зрения ansi C++ все корректно, но при компиляции g++ выдает

test.cpp: In function `int main()':

test.cpp:15: error: must use .* or ->* to call pointer-to-member function in `ptr()'

Это что означает? Я может неправильно понял, но по моему, он мне говорит, что неправильный вызов функции ptr() по указателю. Обясните пожалуйста!

anonymous

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.