Hello,
Au risque de m'afficher, ca doit être qqchose aussi gros que moi, le code suivant ne compile pas :
Code :
- #include <iostream>
- #include <vector>
- using namespace std ;
- template< class T >
- void afficheVector(const vector<T> &vec) {
- vector<T>::const_iterator iter; // ligne 9
- for(iter = vec.begin() ; iter != vec.end() ; iter++)
- cout << *iter << ' ' ;
- cout << endl ;
- }
- int main(int argc, char* argv[]) {
- vector<int> v ;
- for (int i = 0 ; i < 10 ; i++)
- v.push_back(i) ;
- afficheVector(v) ;
- }
|
Voici les erreurs :
$ make
g++ -c main.cpp -Wall -pedantic main.cpp: In function `void afficheVector(const std::vector<T, std::allocator<_CharT> >& )':
main.cpp:9: syntax error before `;' token
main.cpp: In function `void afficheVector(const std::vector<T, std::allocator<_CharT> >& ) [with T = int]':
main.cpp:24: instantiated from here
main.cpp:11: `iter' undeclared (first use this function)
main.cpp:11: (Each undeclared identifier is reported only once for each function it appears in.)
make: *** [main.o] Error 1
$
|
Erreur de syntaxe ? Je vois vraiment pas, ou ca fait trop longtemps que je suis devant mon écran.
Par contre, tout passe bien lorsque la ligne 9 devient :
Code :
- vector<int>::const_iterator iter; // ligne 9
|
Ce qui a relativement peu d'intérêt . Il y surement qqchose qui m'a échappé :|
Merci à vous !
Message édité par Evadream -jbd- le 08-11-2003 à 16:15:41