Euh, il est bizarre ton code... Pourquoi tu rajoutes "class" lors de la déclaration d'une variable?
Tu n'es pas en C hein, la déclaration d'une classe (ou struct, ou enum...) définit un type, et plus uniquement un symbole comme c'était le cas en C.
Tu peux donc faire ceci:
1 2 3 4 5 6 7
| class B
{
...
};
B myB;
... |
Aussi, tes déclarations de fonctions sont fausses, la déclaration correcte ressemblerait à ceci:
BB operator<<( BB & bb, int i );
Et là, ça devrait mieux passer.
Par contre, reste le problème du bien fondé de la chose, surtout dans le cas d'utilisation que tu nous montres.
Les opérateurs << et >> sont utilisés pour 2 choses, en général: le décalage de bits, ou les opérations de flux.
Là ton cas d'utilisation n'est ni l'un, ni l'autre et est du coup contre intuitif, et risque d'induire en erreur les utilisateurs de ta classe.
Partager