Bonjour,
J'obtient des tas de warning suivant sous codeblock, gcc
warning: `class envel' has virtual functions but non-virtual destructor
C'est effectivement le cas, mais quel est le probéme au just
Merci
Bonjour,
J'obtient des tas de warning suivant sous codeblock, gcc
warning: `class envel' has virtual functions but non-virtual destructor
C'est effectivement le cas, mais quel est le probéme au just
Merci
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
Salut,
C'est comme le port salu, c'est marqué dessus
L'avertissement t'indique que tu as une classe visiblement destinée au polymorphisme à laquelle il manque une chose pourtant très utile: le destructeur virtuel, et voici pourquoi
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Juste une question,
(c'est un peu HS mais je profite du sujet)
le destructeur de B n'est pas virtuel, mais j'ai quand même le destructeur de C affiché (à cause du destructeur virtuel de A?).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 #include <iostream> class A { public: virtual A::~A() {puts("ARGH");} }; class B : public A { public: B::~B() {puts("BARGH");} }; class C : public B { public: C::~C() {puts("CAAAAAA");} }; int main() { A *a = new C; delete a; puts(""); B *b = new C; delete b; return 0; }
Ce comportement me convient, mais est-ce normal?
C'est juste une petite précision dont j'ai besoin
Coyotte507
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
Partager