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 :

probleme d'appel de fonction!


Sujet :

C++

  1. #1
    Membre régulier Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Points : 95
    Points
    95
    Par défaut probleme d'appel de fonction!
    J'ai mis un post précédemment, sur lequel j'avait un problème de conversion de u_char en QString. Je pensait que résoudre se probleme allait m'aider a avancer! et bien je me suis tromper!
    voici ce que j'ai mis dans le .h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void  callback(const QString * paquet);
    comme vous pouvez le voir, c'est ma déclaration de la méthode. maintenant le .cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     void AnalyseurTraficEthernet::callback(const QString *paquet)
    {
    	TrameEthernet *trameEthernet = new TrameEthernet(paquet);
    	//emission du signale trameEthernet
    	emit signalTrame (trameEthernet);	
    }
    jusque la je ne voit pas ou est ce que j'ai fait mon erreur!!!
    Maitenant l'appel de la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	const QString paquet( reinterpret_cast<const char *>( packet ) );	 
    	 objAnalyseurTraficEthernet->callback(paquet);
    Je me demande ou se trouve mon erreur qui est:

    dans le cpp
    :no matching function for call to`AnalyseurTraficEthernet::callback(const QString&)'
    dans le h
    candidates are void AnalyseurTraficEthernet::callback(const QString*)'
    les erreur se situant a:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objAnalyseurTraficEthernet->callback(paquet);
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void  callback(const QString * paquet);
    merci de bien vouloir m'aider!

  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
    tu passes un objet en paramètre de ta fonction callback, alors qu'elle attend un pointeur sur QString.
    Essaie d'appeler:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    objAnalyseurTraficEthernet->callback(&paquet);

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Apparemment tu veux passer une chaîne de caractère, soit un const QString& et non un const QString*.

  4. #4
    Membre régulier Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Points : 95
    Points
    95
    Par défaut
    Je vous remerecie pour cette info, mais cela a déplcacer le problème un peu plus bas, lors de la crétion de la trame ethernet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     void AnalyseurTraficEthernet::wrapperCallback(u_char *user,const struct pcap_pkthdr *hdr,const u_char *packet)
     {
    	 user=NULL;
    	 hdr=NULL;
    	 AnalyseurTraficEthernet *objAnalyseurTraficEthernet = (AnalyseurTraficEthernet*) ptObjetAnalyseurTraficEthernet;
    	//conversion de u_char packet en QString paquet
    	const QString paquet( reinterpret_cast<const char *>( packet ) );	 
    	 //objAnalyseurTraficEthernet->callback(paquet);
    	 objAnalyseurTraficEthernet->callback(&paquet); 
     }
    voici la ligne ou la nouvelle erreur est apparut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	 AnalyseurTraficEthernet *objAnalyseurTraficEthernet = (AnalyseurTraficEthernet*) ptObjetAnalyseurTraficEthernet;
    l'erreur est:
    undefined reference to `ptObjetAnalyseurTraficEThernet'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       TrameEthernet *trameEthernet = new TrameEthernet(paquet);
    l'erreur est:
    undefined reference to TRameEthernet::TrameEThernet[in-charge](QString const*)

  5. #5
    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
    T'as vérifiée que la fonction que t'appelles existe réellement? je parle de la fonction TRameEthernet::TrameEThernet[in-charge](QString const*)

  6. #6
    Membre régulier Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Points : 95
    Points
    95
    Par défaut
    oui elle existe:
    je l'ai fait dans une autre class et j'ai bient fait les include et les dépendence!

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

Discussions similaires

  1. Probleme d'appel de fonction
    Par maximus35 dans le forum C
    Réponses: 12
    Dernier message: 01/02/2012, 11h13
  2. [XL-2003] Probleme sur appel de fonction auto depuis une cellule faisant une affectation
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/05/2011, 12h43
  3. Mystere probleme d'appel de fonction
    Par ze veritable farf dans le forum Qt
    Réponses: 3
    Dernier message: 15/09/2008, 20h56
  4. Probleme d'appel de fonction
    Par max44410 dans le forum Zend Framework
    Réponses: 1
    Dernier message: 29/06/2007, 07h39
  5. Réponses: 8
    Dernier message: 13/08/2004, 12h32

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