使用protected
成员时出现一些问题。相关代码和我得到的错误如下。这些类具有所有必需的函数和变量。我刚刚总结了相关部分。我该怎么办 ?
MFS.h:
class MFS
{
protected:
MatrixXd commandedLateral;
};
CSimulator.h:
class CSimulator : MFS
{
};
CSimulator.cpp:
void CSimulator::calculateActuator(MFS* mfs)
{
actuator = -gain * mfs->commandedLateral(1,0);
}
错误C2248:“MFS::commandedLateral”:无法访问在类“MFS”中声明的私有(private)成员
最佳答案
protected
成员只能通过派生类访问,即,您不能通过基类MFS
访问它。
(强调我的)
例如,以下代码应该可以正常工作。
void CSimulator::calculateActuator(CSimulator* mfs)
{
actuator = -gain * mfs->commandedLateral(1,0);
}
关于c++ - 使用保护和继承时无法访问在类中声明的私有(private)成员,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62040321/