Je cherche a mettre en place une gestion de paramètres personnalisés au milieu des stringstream ( ou des ostream ).
Donc j'ai mis en place ce test pour constater la détection d'une valeur personnalisable :
Code :
- #include <iostream>
- typedef enum
- {
- param
- } PARAM;
- // surcharge 1
- std::ostream& operator<< ( std::ostream &o, PARAM param )
- {
- std::cout << " test de ( std::ostream &o, PARAM param ) " << std::endl;
- return o;
- }
- // surcharge 2
- std::ostream& operator<< ( PARAM param, std::ostream &o )
- {
- std::cout << " test de ( PARAM param, std::ostream &o ) " << std::endl;
- return o;
- }
- int main()
- {
- PARAM p = param;
- std::stringstream s( " chaine de test " );
- std::cout << "debut " << s.str() << p << " fin" << std::endl;
- return 0;
- }
|
Probleme, la surcharge 1 sur s.str() << p se déclenche effectivement bien, mais par contre ce qui m'interresse vraiment c de récupere la chaine qui vien apres "p", et la c le drame, je n'arrive pas a déclencher la surcharge 2, soit p << " fin" ...
Donc je suppose que je m'y prend mal, comment dois je surcharger l'operateur << a ce niveau la ???