开发者

const and STL containers

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

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜