我想返回对矢量数据成员元素的引用,以便以后可以通过将函数用作l值来修改该元素。
我试图从向量数据成员的元素的成员函数返回引用,以便以后可以像下标运算符重载函数一样对其进行修改。
我对此进行了一些研究,所以我知道我无法返回常量向量的非常量引用。但是在这里,我的函数不是常数,引用也不是,但是我仍然得到这个Error:"initial value of reference to non-const must be an l-value"
。
我正在使用VS 2019。
#include <vector>
class A{
private:
std::vector<bool> element;
public:
A():element(100,false){}
bool& set (int n){return element[n];} // I get the Error
//const bool& set (int n){return element[n];} // this works fine but not modifiable
void set(int n){
f(n)=true; // i want to do this
}
};
错误:
“对非const的引用的初始值必须为l值”