39 votes

Pourquoi mon compilateur reconnaît-il 't -il « Bond() = default; » ?

S’il vous plaît regarder ce code

Lorsque vous tentez de compiler, j’obtiens une erreur:

erreur C2280: 'Bond::Bond(void)': tentative de référence d’une fonction supprimée ».

Il ne s’agit pas d’une violation de « règle de 3 » puisque j’ai rajouté le constructeur par défaut.

Pourquoi le compilateur ne reconnaît-il pas `` ?

24voto

Gem Taylor Points 3100

Un autre correctif consiste à spécifier une valeur par défaut dans la déclaration des constantes :

Cela peut toujours être substitué par le constructeur évalué, mais permet au constructeur par défaut de continuer.

Il s’agit également d’un moyen très flexible de simplifier vos cas de constructeurs multiples.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X