Bonjour tout le monde,

je viens tout juste de commencer en C++ et je n'arrive pas à faire fonctionner un bout de code qui n'est pas énorme :
Voilà mon code et merci d'avance de me dire ce que vous-en pensez :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <vector>
#include <list>
 
template<class T, template <class T> class Container>
ostream& operator<< (ostream& o, const Container <T>& C) {
  typename Container<T>::const_iterator refs = C.begins();
  for ( ; refs != C.ends(); ++refs) {
    o << *refs << "";
  }
  return o << endl; 
};
 
main() {
  vector<int> v(2);v[0] = 1; v[1] = 2;
  list<char> l; l.push_back('f'); l.push_back('g');
 
  cout << "vecteur : " << v;
  cout << "list : " << l;
}

En essayant de le compiler sous Linux avec la commande gcc essai.cpp (le nom du fichier contenant uniquement ce code), g les erreurs suivantes :
"
essai1.cpp:6: erreur de syntaxes avantle jeton « & »
essai1.cpp:6: « ostream » n'a pas été déclaré dans cet horizon
essai1.cpp:6: « o » n'a pas été déclaré dans cet horizon
essai1.cpp:6: erreur de syntaxes avantle jeton « < »
essai1.cpp:6: ISO C++ interdit la déclaration de « operator<< » sans type
essai1.cpp:6: « int& operator<<(...) » doit avoir un argument de classe ou de
type énuméré
essai1.cpp:6: « int& operator<<(...) » doit prendre exactemenr deux arguments
essai1.cpp: Dans function « int& operator<<(...) »:
essai1.cpp:7: erreur de syntaxes avantle jeton « < »
essai1.cpp:8: « refs » non déclaré (première utilisation dans cette
fonction)
essai1.cpp:8: (Chaque identificateur non déclaré est rapporté seulement une
seule fois pour la fonction dans laquelle il apparaît.)
essai1.cpp:8: « C » non déclaré (première utilisation dans cette fonction)
essai1.cpp:9: « o » non déclaré (première utilisation dans cette fonction)
essai1.cpp:11: « endl » non déclaré (première utilisation dans cette
fonction)
essai1.cpp: Dans function « int main() »:
essai1.cpp:15: « vector » non déclaré (première utilisation dans cette
fonction)
essai1.cpp:15: erreur de syntaxes avantle jeton « > »
essai1.cpp:15: « v » non déclaré (première utilisation dans cette
fonction)
essai1.cpp:16: « list » non déclaré (première utilisation dans cette
fonction)
essai1.cpp:16: erreur de syntaxes avantle jeton « > »
essai1.cpp:16: « l » non déclaré (première utilisation dans cette
fonction)
essai1.cpp:18: « cout » non déclaré (première utilisation dans cette
fonction)
"