Bonjour,
il y a un truc que je n'arrive pas à comprendre, illustré par l'exemple suivant :
Quand je compile ce code, g++ me dit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 class A { public: class iterator {}; class const_iterator {}; public: iterator f() { return iterator(); } const_iterator f() const { return const_iterator(); } }; int main() { A a; A::const_iterator it = a.f(); return 0; }
Je ne comprends pas pourquoi il ne trouve pas lui même la solution en appelant la méthode const. D'autant plus que c'est un problème que je n'ai pas avec les classes de la STL.Envoyé par g++
La seule solution que j'ai trouvée est de passer par un "const A&" avant d'appeler f().
Est-ce que vous pourriez m'expliquer ?
Partager