Utilisation de vector et iterator
Je veux vous remercier tous de vos réponses,ils m'ont vraiment soualgé :) avec code à l'appui !! .
Je continue à travailler avec vous donc sur le même document pour m'intitier à une utilisation plus avancée de la STL pour favoriser l'esprit "reuse" dans mes programmes.
Je vous propose ce code cité çi-dessous dans le même manuel:
[url=" http://www.developpez.biz/download/stl.pdf "], que j'ai compilé et qui a donné des erreurs à la compilation concernant la declaration d'un objet vector
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int tab[10]={0,1,2,3,4,5,6,7,8,9};
int*p;
// declaration genere une erreur de compilation
vector<int> tab(10);
//Iterateurs sur vecteur
for (vector<int>::iterator p=tab.begin();p<tab.end();p++)
cout << *p << " "<< endl;
} |
Donc je me suis dit que le compilateur voit que tab est un pointeur sur tableau d'entier et refuse de transtyper le tableau en vecteur?
Est-ce que c'est cela l'origine de l'erreur ?
Notez que cette erreur de declaration (suivant le compilateur) genere deux erreurs sur la ligne suivante au niveau de begin et end qui refuse le pointeur tab
J'ai corrigé donc le code par cette ligne
Merci à vous tous