2010-09-16 9 views
6

Le code suivant est std::vector génère des erreursconst et conteneurs 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; 

} 

Répondre

13

Vos éléments conteneurs STL doit être incessible et copier-constructible.

const l'empêche d'être assignable. Supprimez const et réessayez de compiler votre code.

changer également std::vector<double> VectDouble::iterator à

std::vector<double>::iterator

2

VectDouble est un nom de variable.

changement

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) 

ou

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