У меня есть класс, который имеет указатель на функцию ядра, который может меняться извне.
class Bar
{
public:
int i;
}
class Foo
{
public:
std::function<double()> kernel;
Bar bar;
};
int main()
{
Foo f;
f.kernel = []() -> double { return i * i; }; //this is not working obviously
}
Как я могу добиться поведения, которое "представлено", например. читать переменные класса внутри лямбда. Я могу обойти его, пропуская f
внутри и напишу f.bar.i
, но это не очень хорошее решение.