c++ - 引用类型变量的 setter/getter C++

标签 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;
}

关于c++ - 引用类型变量的 setter/getter C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22203967/

相关文章:

C++。加权 std::shuffle

C++ 从属常量

c++ - 如何在std::function上使用模板扩展

c++ - 在Windows窗体应用程序的点击功能中使用字符串

c++ - 从自定义数据类型列表中删除时出现 C2678 错误

c++使用指向其他类的指针重载类的赋值运算符

c++ - 如何在 C++ 中声明一个零初始化的类成员?

c++ - 以编程方式导航到 Windows Mobile 主屏幕

c++ - Linux 可执行参数选项卡完成

c++ - 如何从 C++ 函数返回一个字符串?