Lorsque j'essaie de créer une classe qui a un constructeur qui prend un objet de cette classe par valeur, comme par exemple: puis g ++ se plaint le suivant pour le second constructeur: P> error: invalid constructor; you probably meant âX (const X&)â
3 Réponses :
car nécessite un constructeur de copie. Je lui suis-je reconsive. C'est-à-dire quand ça se termine ?! P> P>
Vous essayez d'implémenter un constructeur de copie qui ne fonctionne que en transmettant une référence à l'objet que vous souhaitez copier. p>
Vous essayez de créer un constructeur de copie et un constructeur de copie doit prendre une référence. Sinon, lorsque vous passez le X dans le constructeur par la valeur, le compilateur devra créer une copie temporaire de X, pour laquelle il devra appeler le constructeur de copie, pour lequel il aura besoin de créer une copie temporaire .... annonce infinium. p>
Un constructeur de copie doit donc prendre son argument en se référant à la prévention de la récursion infinie. P>
Comment voudriez-vous invoquer ce constructeur?