1
4

1 回答 1

1

vector为take a提供的重载const std::vector<T>&,因此您必须const在整个过程中添加一些额外的 s:

YAML::Emitter& operator << (YAML::Emitter& out, const Employee& e)
...
YAML::Emitter& operator << (YAML::Emitter& out, const Department& d)

然后将它们放在您的成员函数上,例如:

const std::vector<Employee>& getStaff() const { return staff; }

(一般来说,你应该让你的 getter 默认为 const,如果你需要改变状态,添加 setter 而不是非常量的 getter。)

于 2013-11-25T14:13:59.517 回答