Bonjour,
je bute sur une erreur signalée par le compilateur de Visual C++ 2008 express.
Pour me faire la main j'essaie d'implémenter une classe chaine de caractères.
Voici le fichier d'entête chaine.h:
et dans chaine.cpp, j'ai redéfini l'opérateur << ainsi:
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 #pragma once #include <iostream> using namespace std; class Chaine { public: Chaine(void); Chaine(const char*); void Affiche(void); ostream & operator<<(ostream & o,const Chaine & c); ~Chaine(void); private: char* ch; int longueur; };
dans mon main, j'ai ceci (entre autre):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 std::ostream & operator << (std::ostream & flux, const Chaine & s){ return flux; // juste pour tester la syntaxe }
et le compilateur me pointe dans le fichier d'entête la ligne de la redéfinition de l'opérateur << avec le message suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Chaine ch1("Coucou"); cout << ch1;
error C2804: trop de paramètres pour l'opérateur binaire 'operator <<'
Je n'en vois pas l'origine. Merci de m'éclairer.
Partager