Возможно, странно, что я пытаюсь увидеть, и я попытаюсь как можно больше разъяснить. Я использую gcc 4.8 на ubuntu 14.04 и C++ 11.метод дочернего класса метод указатель метода родительский аргумент C++
Что я хочу пытаться сделать это:
- сделать класса А
- сделать функцию в этом классе А, которая получает в качестве аргумента
- указатель на класс члена того же класса
- сделать новый класс B, который наследует от
- сделать новый метод класса B
дает указатель на этот метод класса В к способу ParentClass А в качестве аргумента
class A{ typedef void(A::*METHOD); void executeMethod(METHOD arg){}; } class B : A{ void sampleMethod(){}; void childMethod(){ this->executeMethod(&B::sampleMethod); //<== error } }
Однако это приносит мне следующее сообщение об ошибке в CodeBlocks:
error: no matching function to call for 'B::executeMethod(void B::*)'
Есть ли способ обойти это? Есть ли что-нибудь еще, что мне нужно сделать, чтобы дать вам понять, чего я пытаюсь достичь?
typedef std :: function Метод; дает мне ошибку: 'function' не называет тип –
philsegeler
@philsegeler вам нужно включить '' –
Slava