La j'avoue, comme je l'ai dit plus haut, je trouve ça carrément stupide. Le truc, c'est que la écrire =default sur la ligne de déclaration (donc dans la définition de la class, cf. illformed), cela doit être la même chose que si tu n'avais rien écris...
Trétrés stupide donc a mon sens, mettre ~class() = default; est EXACTEMENT la même chose si tu n'avais rien mis >< !!!
...
Et voilà, je viens de poster sur comp.std.c++, mais là, il y a quelque chose qui me trouble. Il est dit que la fonction ne peut-être virtuelle, mais lorsqu'on ne déclare aucun destructeur d'une classe qui hérite d'une virtuelle, celui-ci est virtuelle... En gros, il se passe quoi dans se cas :
Illicite ou pas ? (je vais faire un doublons-excusé pour transmettre sur comp.std.c++ -_-').Code:
1
2
3
4
5
6
7
8
9
10
11 class base{ public: virtual ~base(); }; base::~base() = default; class derived : public base { public: ~derived() = default; };