// Indique un objet rectangulaire
struct HasFrame {
void setPosition(Vector pos);
void setSize(Vector size);
};
// La rotation n'a pas de sens sans un centre, inscrit dans une zone rectangulaire
struct HasRotatableFrame: public HasFrame {
void setCenter(Vector center);
void setAngle(float angle);
};
// Si un objet a une texture, il faut aussi qu'il soit rectangulaire, donc ait un cadre
struct HasRectangularTexture: public HasFrame {
// Met aussi à jour le cadre pour que le bout d'image sélectionné soit dessiné à 1:1
void setSourceRect(Vector start, Vector end);
};
struct Image: public HasRotatableFrame, public HasRectangularTexture {
void draw() {
setPosition(Vector(0, 0));
}
};
Mais ça n'est pas possible... on obtient ceci sur l'appel setPosition de la méthode draw():
error C2385: ambiguous access of 'setPosition' could be the 'setPosition' in base 'HasFrame' or could be the 'setPosition' in base 'HasFrame'
La question c'est que mon design est sûrement mauvais pour du C++, et vu qu'il y a des bons ici, peut être pourrez vous me conseiller sur la manière dont il faudrait s'y prendre dans ce langage?

Merci d'avance ^^