Я просто не могу найти способ вызова методов класса без использования std :: bind, потому что мне нужно вызывать этот метод с параметром внутри tryfoo.
//simple function
uint16_t getreg(const uint8_t& num)
{
return 0;
}
Предположим, что вclass ClassItem у нас есть открытый метод
uint16_t ClassItem::getregI(const uint8_t &f)
{
return 1;
}
функция с вызываемой функцией
void tryfoo (const uint8_t ¶m, std::function<uint16_t (const uint8_t&)> f)
{
// let's suppose that param= got some other value here
uint16_t result = f(param);
}
void basefunction(ClassItem &A)
{
tryfoo (0, getreg); // Why it's OK
tryfoo (0, A.getregI) // And this's NOT ?
}