class Foo {
Foo(int val) { /* Do some initialization */ }
Foo() { /* Do nothing */ }
};
union Bar {
Foo foo;
};
Ce code génère cet erreur:Stuff classe constructeurs défini utilisateur une union
erreur C2620: membre 'Titi :: foo de syndicat Bar' dispose constructeur personnalisée ou non- constructeur par défaut trivial
Je comprends pourquoi vous lancer cette erreur si le constructeur a effectivement fait quelque chose, mais le constructeur ici ne prend aucun paramètre et ne fait rien. Y a-t-il un moyen de transformer cette classe en syndicat? J'ai dû faire tout le chemin pour faire char foo[sizeof(Foo)]
et je voudrais une solution plus propre.
C'est dommage ... si je n'utilise que « Foo() = défaut » cela fonctionne, mais si j'ajouter un autre constructeur avec la valeur par défaut explicite qu'il se plaint à nouveau. – Chris
constructor() = par défaut résolu cela pour moi dans VS 2013, n'ont pas encore testé GCC ou Xcode. – eodabash