контейнеры const и STL - PullRequest
       16

контейнеры const и STL

6 голосов
/ 16 сентября 2010

Следующий код 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;

}

Ответы [ 2 ]

13 голосов
/ 16 сентября 2010

Ваши элементы контейнера STL должны быть назначаемыми и копируемыми.

const предотвращает присвоение . Удалите const и попробуйте снова скомпилировать код.

Также измените std::vector<double> VectDouble::iterator на

std::vector<double>::iterator

2 голосов
/ 16 сентября 2010

VectDouble - это имя переменной.

изменить

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

на

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

или

typedef  std::vector<const double> vector_t;
for(vector_t::iterator i=VectDouble.begin();i!=VectDouble.end();++i)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...