Bonjour,
Dans le cadre du développement d'une bibliothèque, je suis tombé sur un os assez costaud. Voici une description du problème, si quelqu'un a une idée :
J'ai une classe A qui contient un membre v.
J'ai une classe B qui hérite de A à un certain niveau (telles que pour b de type B, b.A::v est accessible publiquement).
Je veux écrire une classe template C<T, n> telle que si B hérite de C<B, n>, alors la construction d'un objet b de type B assigne n à b.A::v.
Pour l'instant, j'ai trouvé la solution suivante :
Ce code fonctionne bien dans la plupart des cas, mais il y a un hic dans le cas d'héritage virtuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
En effet, la construction d'une instance de B segfaute.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
Quelqu'un aurait-il une idée sur un moyen de généraliser ce dispositif ?

 

 
		
		 
         
 

 
			
			

 
   
 


 Classe agissant sur sa dérivée
 Classe agissant sur sa dérivée
				 Répondre avec citation
  Répondre avec citation
Partager