Salut,
Cela est lié à l'ordre d'appel des constructeurs : F.A.Q. : Dans quel ordre sont construits les différents composants d'une classe ?
Ta classe A ne doit pas avoir de constructeur par défaut mais uniquement des constructeurs avec paramètres. Il faut donc préciser au niveau de D quel constructeur tu souhaites appeler (ceux préciser au niveau B et C ne sont pas pris en compte, logique puisque tu veux qu'une seule instance de A par l'héritage virtuel et donc tu dois préciser comment construire cette instance) :
A::A(...):D(...),B(..),C(..)..{...}
Partager