Bonjour!
Dans une classe template possédant un std::bitset, j'essaie de surcharger l'opérateur [] afin de modifier la valeur du bitset. C'est-à-dire de pouvoir faire:
ce qui aura pour effet de modifier la 7ème valeur du bitset.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MyClass<8> foo; foo[7]=0;
L'opérateur[] de bitset renvoi un std::bitset::reference, et j'aimerai pouvoir le renvoyer aussi.
Je me demande donc si il est possible de faire un truc du genre:
ou si la classe reference ne peut être utilisée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 template <size_t n> bitset::reference MyClass<n>::operator[] (size_t i) { if(i<n && i>=0) { return m_content[i]; } else { return NULL; } }
Merci pour vos lumières!
cordialement,
Simac
Partager