如何将项目放入const向量?

Dan*_*ose 4 c++ vector

我一直在尝试一些不同的方法,但我无法弄清楚.我得到的声明是:

const std::vector<std::string>&,
Run Code Online (Sandbox Code Playgroud)

我一直试图这样做:

gradeReported.push_back(firstEntry);
Run Code Online (Sandbox Code Playgroud)

我一直在收到错误.我很确定它与向量的const性质有关.帮助将不胜感激!

Cat*_*lus 6

你没有.如果是const,则无法修改.您需要制作副本或通过非const引用来获取它.


111*_*111 6

您不能将项目放入 const 向量中,向量状态是它保存的项目,并且向向量添加项目会修改该状态。

如果你想附加到一个向量,你必须接受一个非常量引用。

void f(std::vector<int>& v)
{ 
    v.push_back(4);
}
Run Code Online (Sandbox Code Playgroud)


hc_*_*hc_ 1

const 向量的全部要点是你无法修改它。向其追加元素将是一种修改,因此违反了其常量性。这就是为什么你不能这样做。这是设计使然。