Objets dérivé de std::ostream et manipulateur
Bonjour à tous.
Je suis programmeur amateur et j'ai voulu me créer un logger pour mes programmes. Je voulais pouvoir l'utiliser de la même façon que std::cout, lui passer du texte et des manipulateurs comme std::endl;
Mon problème c'est que dès mes premiers tests je me suis heurté à un petit problème :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| #include <iostream>
class CLog : public std::ostream
{
};
int main(void)
{
CLog Log;
Log.rdbuf(std::cout.rdbuf());
Log << "Test" << std::endl;
return EXIT_SUCCESS
} |
Cela compile et voilà ce que j'obtiens à l'exécution :
Citation:
Test
abnormal program termination
Le problème vient du std::endl puisque je n'ai plus le message d'erreur en l'enlevant. Par contre je n'ai aucune de la raison de cette erreur, qu'est-ce que j'ai foiré ?
Merci d'avance.