IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Bug sur les fonctions virtuelles


Sujet :

C++

  1. #1
    Membre chevronné
    Avatar de Anthony.Desvernois
    Homme Profil pro
    Ingénieur sécurité & risque
    Inscrit en
    Juin 2007
    Messages
    1 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité & risque
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 489
    Points : 2 244
    Points
    2 244
    Par défaut Bug sur les fonctions virtuelles
    Bonjour,

    J'ai un soucis avec plusieurs de mes classes. Alors, j'ai une classe A, une classe B et une classe C. C dérive de B, B dérive de A. Une fonction dans A est virtuel et est redéfinie dans C. Or g++ me sort l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     warning: `class A' has virtual functions but non-virtual destructor
    warning: `class B' has virtual functions but non-virtual destructor
    warning: `class C' has virtual functions but non-virtual destructor
    Je ne comprends pas trop où est la logique dans son message d'erreur et ce qui lui pose problème...si vous avez une idée, je suis preneur
    "Voyager, c'est découvrir que tout le monde a tort", Aldous Huxley
    "Less is more" Ludwig Mies Van Der Rohe

    Risk & Security Mgmt

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 130
    Points : 115
    Points
    115
    Par défaut
    bah déjà c'est pas une erreur mais un warning.
    Ensuite, cela veut dire que dans tes classes A, B, et C, certaines fonctions sont déclarées virtuelles, et que par conséquent, il pourrait être utile de déclarer le destructeur virtuel aussi.
    va faire un tour par là, peut être: http://cpp.developpez.com/faq/cpp/?p...UCTEUR_virtuel

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Points : 858
    Points
    858
    Par défaut
    Salut,
    Ce n'est pas un message d'erreur, c'est juste un warning. Le compilateur t'avertis que ce que tu fais est dangereux : déclarer des classes avec fonctions virtuelles mais sans destructeur virtuel. Pour comprendre l'intérêt d'un destructeur virtuel c'est ici http://cpp.developpez.com/faq/cpp/?p...UCTEUR_virtuel.

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Points : 858
    Points
    858
    Par défaut
    Ouah ! Quel synchronisme dans nos réponses !!!

  5. #5
    Membre chevronné
    Avatar de Anthony.Desvernois
    Homme Profil pro
    Ingénieur sécurité & risque
    Inscrit en
    Juin 2007
    Messages
    1 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité & risque
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 489
    Points : 2 244
    Points
    2 244
    Par défaut
    Merci les gars je vais voir ce lien

    PS: beau timing

    EDIT: merci beaucoup (c'est bon)
    "Voyager, c'est découvrir que tout le monde a tort", Aldous Huxley
    "Less is more" Ludwig Mies Van Der Rohe

    Risk & Security Mgmt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question sur les fonctions virtuelles
    Par Negatio dans le forum C++
    Réponses: 10
    Dernier message: 22/03/2013, 09h22
  2. Question sur les fonctions virtuelles
    Par beegees dans le forum C++
    Réponses: 9
    Dernier message: 13/04/2008, 19h54
  3. Rapport de bug sur les fonctions de XDebug
    Par lryo79 dans le forum Zend Studio
    Réponses: 8
    Dernier message: 14/06/2007, 15h35
  4. doc sur les fonctions
    Par masterfab dans le forum C
    Réponses: 18
    Dernier message: 23/06/2005, 17h55
  5. Réponses: 2
    Dernier message: 07/10/2004, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo