Russian Qt Forum
Ноябрь 26, 2024, 11:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Указатель на функцию как член класса  (Прочитано 2022 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« : Март 26, 2014, 14:44 »

Помогите разобраться в чем ошибка
при вызове функции через указатель на нее!
Код:
class MyClass
{
public:
void (MyClass::*PointFunction)();

void f();
void f1();
void f2();
}

void MyClass::f1()
{
   PointFunction = &MyClass::f1;
}

void MyClass::f2()
{
   PointFunction = &MyClass::f2;
}

void MyClass::f()
{
   PointFunction();
//Ошибка  error: must use '.*' or '->*' to call pointer-to-member function in '((MyClass*)this)->MyClass::PointFunction (...)', e.g. '(... ->* ((MyClass*)this)->MyClass::PointFunction) (...)'
}

« Последнее редактирование: Март 26, 2014, 14:49 от demaker » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Март 26, 2014, 14:52 »

в гугле видно забанили. (this->*PointFunction)();
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #2 : Март 26, 2014, 14:54 »

Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.054 секунд. Запросов: 22.