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

Windows Discussion :

Référence à la méthode operator=


Sujet :

Windows

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Points : 38
    Points
    38
    Par défaut Référence à la méthode operator=
    Bonjour,

    Je fais la maintenance d'une application développée avec vc++ 6. Elle fonctionne sous windows 2000. Cette appli utilise BugTrap qui permet en cas de crash de retracer des appels de fonctions. Le fichier généré par BugTrap me donne la dernière méthode appelée, qui est : SnmpMessage::operator=.
    La classe existe bien mais la méthode operator= n'est ni déclarée ni définie dans l'application. Les objets de cette classe ne sont ni passés ou retournés par valeur. Y a t-il des cas où des objets de cette classe ou le compilateur pourraient faire appel à cette méthode??
    Merci d'avance à tous ceux qui se pencheront sur mon problème
    Devconf77

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Si tu as accès au code source, je te conseillerais pour vérifier de recompiler le code après avoir fait la modification suivante:

    Dans le header de la classe, ajouter la déclaration de fonction pour operator=, en private. Ne pas définir son corps, nulle part.
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private:
    	SnmpMessage& operator=(SnmpMessage const&);
    	//Et tant que tu y es, le constructeur de copie aussi, puisque ton objet n'est jamais copié
    	SnmpMessage(SnmpMessage const&);
    Ainsi, tu auras des erreurs de compilation ou d'édition de liens sur tous les appels qui se cachent.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 46
    Points : 38
    Points
    38
    Par défaut
    J'ai mis en "private" dans la classe "operator=" et le constructeur par recopie. Résultat : la compile et le link se passent bien sans génération d'erreur
    Merci

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/02/2012, 13h38
  2. Rechercher les références à une méthode
    Par Strab dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 22/11/2010, 13h43
  3. Réponses: 3
    Dernier message: 23/01/2008, 13h15
  4. Réponses: 7
    Dernier message: 19/03/2007, 19h24
  5. [JACOB] Comment passer un objet par référence à une méthode
    Par zlavock dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 21/03/2005, 18h28

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