Bonjour à tous (ça faisait longtemps ><) !

En dehors de tout problème de design, pourquoi :

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
 
Class A {};
 
Class B : A {
public:
  operator A() { // Mais quelle utilité me direz-vous ??
    return *static_cast<A*>(this);
  }
};
 
int main() {
  B b;
  A(b); 
  return 0;
}
Me renvoie boulet méchamment en clamant au scandale parce que mon héritage est privé ?
Honnêtement, ça m'a étonné. Je pensais qu'au pire, il arriverait pas à trouver ce qu'il faut faire... mais là !

J'ai un peu cherché dans la norme, mais j'ai rien trouvé... Même pas un comportement indéfinie.... :'( !

Merci de m'éclairer de vos illustres lumières