开发者

const and STL containers

开发者 https://www.devze.com 2023-01-16 14:12 出处:网络
The following std::vector code is giving errors int main() { std::vector<const double> VectDouble;

The following std::vector code is giving errors

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;

}


Your STL container elements should be assignable and copy-constructible.

const prevents it from being assignable. Remove const and try compiling your code again.

Also change std::vector<double> VectDouble::iterator to

std::vector<double>::iterator


VectDouble is a variable name.

change

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

to

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

or

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

精彩评论

暂无评论...
验证码 换一张
取 消