2010-09-16 4 views
6

Следующая std::vector код выдавая сообщение об ошибкахконстантные и STL контейнеры

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; 

} 

ответ

13

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

const предотвращает его отсутствие assignable. Удалите const и попробуйте выполнить компиляцию кода еще раз.

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

std::vector<double>::iterator

2

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) 
Смежные вопросы