gpt4 book ai didi

c++ - 函数返回对 vector 元素的引用

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:39 25 4
gpt4 key购买 nike

我不知道如何返回对 vector 元素的引用。 [] 和 at() 正在返回引用,不是吗?

但是当我尝试以下操作时,它不会编译。

我正在使用 Visual C++,它给出了 cannot convert from 'const float' to 'float & 错误。

T& GetElement(size_t x) const {
return _vector.at(x);
}

GetElement是方法,_vector是成员变量。

最佳答案

这不会编译,因为您试图返回对 vector 元素的非常量引用,该元素本身是 const

vector 是 const 的原因是您的成员函数被声明为 const:

T& GetElement(size_t x) const // <<== Here

这个 const-ness 标记被传播到所有成员,包括 _vector

要解决此问题,请将 const 添加到返回的引用类型 ( demo )。

关于c++ - 函数返回对 vector 元素的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20711400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com