Я пытаюсь отправить метод конкретного экземпляра класса в качестве аргумента функции (Foo), хотя я получаю эту ошибкуПереходя метод класса в качестве аргумента функции
недопустимого использование нестатического функция член ...
(от линии обув (a-> бар))
Я не уверен, почему я получаю эту ошибку? Есть ли возможность для этого?
#include <iostream>
#include <functional>
void foo(std::function<void(void)> _func)
{
_func();
}
class A
{
public:
A()
{
x = 5;
}
void bar()
{
std::cout << x << std::endl;
}
private:
int x;
};
int main() {
A a;
foo(a->bar);
return 0;
}
@songyuanyao Да, он должен. Благодарю. :) –