引用类型变量 c++ 的 Getters
Getters for reference type variables c++
std::vector<Node>& Way::GetNodesCollection() const {
return this->nodesCollection;}
这收到错误"类型' std::vector<Node>&
'的引用初始化无效"如何正确初始化它。
您正在尝试从 const
方法返回对类成员的非const
引用。这是不允许的,因为它会违反const
类成员函数的语义(它只能访问 this
的 const 版本)。
要修复您的错误,请编写
const std::vector<Node>& Way::GetNodesCollection() const {
return nodesCollection;
}
或
std::vector<Node>& Way::GetNodesCollection() {
return nodesCollection;
}
正如所写,这不仅仅是一个"getter",因为我可以获取引用然后修改内容。您需要另一个const
修饰符:
const std::vector<Node>& Way::GetNodesCollection() const {
return this->nodesCollection;
}
相关文章:
- 人们为什么写私人场getters返回非const参考
- 三角矩阵,C ,Getters和Setter,双指针
- 类似"属性"的方法,而不是C++中的getters和setters?
- 使用Getters/setter在类之间传递值
- 引用类型变量 c++ 的 Getters
- Getters和Setters.是否存在性能开销
- 带指针的 Getters 和 setter
- getters by reference和getters by copy这两个不同的词
- 在AlgorithmInfo::addParam中使用Setters和Getters进行算法继承
- Getters的最佳实践
- 如何访问类变量?公共方法/getters与继承.优点和缺点是什么
- Error for getters and setters