У меня есть класс, чью функцию-член, на которую я пытаюсь указать, проблема в том, что я продолжаю получать эту ошибку reference to non-static member function must be called
, которая, насколько я понимаю, состоит в том, что функция-член должна быть указал на. Проблема заключается в том, когда я пытаюсь использовать this решение, компилятор жалуется, потому что there is no viable conversion from 'void (Foo::*) (const List&) to std::function<void (const List &)>
Functor -> ссылка на нестационарную функцию-член нужно называть
Это мой Foo
класс:
class Foo {
public:
int Run(int port);
void HandleRequest(HTTPServerRequest* request);
private:
int num_ports;
void callback_method(const List&);
}; //class Foo
void Foo::HandleRequest(HTTPServerRequest* request){
std::function<void (const List&)> functor = callback_method;
}
спасибо! работает как шарм. Я использовал первый вариант. Не могли бы вы объяснить мне это? –
вы можете увидеть это: [link] (http://en.cppreference.com/w/cpp/utility/functional/bind) –