У меня есть функтор, который принимает объект lat3d в качестве параметра, и я хочу передать этот функтор в процедуру поиска корня, которая настраивает ef.Функтор выглядит следующим образом:
struct NormalizeNer {
NormalizeNer(lat3d &lat) : lat(lat) {}
double operator()(const double ef) {
lat.setEf(ef);
// some other irrelevant code
}
public:
lat3d lat;
};
Функтор создается и передается в процедуру поиска корня findRoot как:
lat3d lattice();
NormalizeNer normalize(lattice);
double efroot = findRoot(normalize, eflo, efhi, eftolerance);
Это работает, за исключением того, что используется моя функция-член класса lat.setEf(ef) в строке 4 обновляет только lat.Ef в копии объекта lat3d.Я хочу, чтобы можно было передать объект lat3d по ссылке, чтобы впоследствии я мог получить последнее обновленное значение Ef:
double lastEf = lattice.Ef
Есть идеи, как передать ссылку по ссылке здесь?Очевидно, использование lat3d & lat в строке 2 не работает.Спасибо!