Краткое описание:
У меня есть базовый класс, который строит некоторые объекты данных. Затем у меня есть дочерний класс, который наследует все открытые методы и указатели на объекты из базового класса.
В этом дочернем классе я хочу создать функтор (как структуру) для использования в цикле for_each. Моя проблема в том, что в операторе функтора я получаю сообщение об ошибке при попытке получить доступ к объектам.
Сокращенный пример:
class Child : public BaseClass {
Child(DataSource& in_data): Base(in_data){};
struct foo {
double operator() (int x){
double y = in_data.some_function(x);
// do stuff
}
};
}
ошибка: не удалось получить доступ к функции in_data.some_f.
Идеи