C++ 通过引用将对象参数传递给函子

C++ 通过引用将对象参数传递给函子,c++,pass-by-reference,functor,C++,Pass By Reference,Functor,我有一个以lat3d对象为参数的函子,我想把这个函子传递给一个根查找例程,该例程可以调整ef。函子看起来像: struct NormalizeNer { NormalizeNer(lat3d &lat) : lat(lat) {} double operator()(const double ef) { lat.setEf(ef); // some other irrelevant code

我有一个以lat3d对象为参数的函子,我想把这个函子传递给一个根查找例程,该例程可以调整ef。函子看起来像:

    struct NormalizeNer {
        NormalizeNer(lat3d &lat) : lat(lat) {}
        double operator()(const double ef) {
            lat.setEf(ef);
            // some other irrelevant code
        }
    public:
        lat3d lat;
    };
functor被实例化并传递给根查找例程findRoot,如下所示:

    lat3d lattice();
    NormalizeNer normalize(lattice);
    double efroot = findRoot(normalize, eflo, efhi, eftolerance);
这是可行的,除了在第4行中使用我的类成员函数lat.setEf(ef)仅更新lat3d对象副本中的lat.ef。我希望能够通过引用传递lat3d对象,以便稍后可以获得Ef的最后更新值:

    double lastEf = lattice.Ef

有没有办法在这里通过引用传递?显然,在第2行中使用lat3d和lat不起作用。谢谢

成员变量
lat
也应作为参考:

lat3d ⪫
在当前代码中,
NormalizeNer
构造函数接受一个引用,然后复制一个副本