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) :
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;
}
Implémentations :
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);
}
Grosso modo, j'ai une implémentation qui fait sauter le const par rapport a la signature de méthode.
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++ ?