Objective c++ et violation de const ?
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:
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:
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++ ?