Bonjour,
J'ai écrit une classe permettant de gérer une console (en mode texte), et j'utilise les opérateur << pour y entrer un texte.
Mon problème est le suivant:
J'utilise cette première fonction pour écrire un char*:
Code :
- void CConsole::operator << (char *str)
|
Elle marche très bien.
Par contre, pour y écrire un int, j'utilise ça:
Code :
- void CConsole::operator << (int Number)
|
C'est cette fonction qui me pose problème; voici son code:
Code :
- {
- char *str = new char[10];
- sprintf(str,"%i",Number);
- this << str; //Erreur! :/
- delete [] str;
- }
|
En fait, je converti l'int en string avec sprintf, puis j'écris le string avec la fonction operator << (char *str)
Avant j'utilisait des fonctions toutes bêtes et ça marchait, mais depuis que j'utilise les opérateur, il me met cette erreur à la compilation:
Citation :
src/Console.cpp:21: error: invalid operands of types `CConsole* const' and `char*' to binary `operator<<'
|
Je comprend rien à l'erreur, mais elle porte sur le "this << str;"
QQun a une idée?
Merci 