以下std::vector代码给出了错误

int main()
{
    std::vector<const double> VectDouble;
    VectDouble.push_back(2.34);
    VectDouble.push_back(2.33);
    VectDouble.push_back(2.32);

    for(std::vector<const double> VectDouble::iterator i=VectDouble.begin();i!=VectDouble.end();++i)
       std::cout<<*i;

}

最佳答案

您的STL容器元素应可分配和可复制构造。
const防止它成为assignable。删除const并尝试再次编译您的代码。

还要将std::vector<double> VectDouble::iterator更改为
std::vector<double>::iterator

关于c++ - const和STL容器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3723421/

10-10 01:30