const和STL容器

McG*_*ath 6 c++ templates stl vector

以下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;

}
Run Code Online (Sandbox Code Playgroud)

Pra*_*rav 13

您的STL容器元素应该是可分配和可复制构造的.

const防止它被指派.删除const并尝试再次编译代码.

std::vector<double> VectDouble::iterator改为

std::vector<double>::iterator