C++, как вызвать функцию внешнего класса из функтора?
У меня есть функтор, определенный в классе. Я хочу получить доступ к функции-члену внешнего класса непосредственно из функтора. Как я могу это сделать? Я хочу передать этот функтор классу шаблона в другом месте кода. Я не хочу использовать указатели на функции.
Должен ли функтор сохранять ссылку на внутренний класс как член, назначенный ему во время инициализации, чтобы иметь возможность вызывать функцию этого класса?
Class MyClass //outer class
{
void DoSomething() //member function I want to access from functor
{
}
class MyFunctor //the functor who wants to access outerclass's function
{
void operator() ()
{
DoSomething() //This is a member function of outer class
}
}
};
}
скажем, если я хочу сохранить локальную ссылку на внешний класс внутри функтора, то как мне создать экземпляр (не указатель) для функтора и передать указатель на внешний класс в конструкторе функтора?