Bonjour,
J'ai un code qui compile avec GCC sans erreur ni warning, et qui fait la chose suivante en c++ / objecive c:
Interfaces (.h) :
Implémentations :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ClasseA{ -(void) addItem: (const item*)item; } classeB{ std::vector<item*> itemVector; -(void) addItem: (const item*)item; }
Grosso modo, j'ai une implémentation qui fait sauter le const par rapport a la signature de méthode.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 ClasseA{ -(void) addItem: (const item*)item{ [classeB addItem:item]; } } classeB{ -(void) addItem: (item*)item; itemVector.push_back(item); }
L'objet inséré dans le vector est bien non const.
Est ce un bug de Gcc ? Une faille de l'objective c++ ? Est il possible de faire ce genre de cast implicite en pur C++ ?
Partager