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 :

appel entre méthodes de meme classe


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 41
    Points : 42
    Points
    42
    Par défaut appel entre méthodes de meme classe
    Salut à tous,
    J'ai un problème surement très simple à résoudre mais qui là me prends la tête.
    Donc voila j'ai une classe qui contient deux méthodes. Dans la deuxième méthode, je veux appeler la première méthode.
    Comment doit ce faire l'appel dans ce cas là, j'ai essayé un appel normal avec seulement le nom de la fonction mais il me met 'identificateur introuvable'.
    Merci pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 282
    Points : 11 036
    Points
    11 036
    Par défaut
    Donne nous un code minimal mais complet qui présente les symptômes que tu observes.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    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
     
    class A
    {
     
    	void func2 ( )
    	{
    		std::cout << "func2" << std::endl;
     
    		return;
    	}
     
    	void func1 ( )
    	{
    		func2( );
     
    		return;
    	}
     
    };

    Voilà. Rien de bien compliqué.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    Tiens, nous n'avons pas la même pédagogie ^^.

  5. #5
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 282
    Points : 11 036
    Points
    11 036
    Par défaut
    J'ai oublié. Quel sont les messages d'erreur que tu observes en compilant ce code (15 premières lignes) ? Que vois-tu s'afficher dans le cas où sa compile (bien que dans ce cas là, cela veut dire que tout va bien) ?
    Evetuellement (si ce code là te donne des résultats qui ne sont pas ceux que tu attendais), quel est ton compilateur (non, ce n'est pas pour déplacer le message) ?

    Comment ça, "pas la même" pédagogie ? ^^ (Au delà de la portée pédagogique qui force à réfléchir et faire des expériences sur des parties supposément problématiques du programme, la seule autre réponse que l'on pouvait te donner était de changer de lunettes car tu t'es probablement planté entre déclaration, appel et définition de ta fonction membre, ou alors tu aurais pu très mal formuler ton problème. J'opte plutôt pour la faute d'inattention, ou alors des paramètres réels en inadéquation avec les paramètres formels)

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 41
    Points : 42
    Points
    42
    Par défaut Erreur
    Salut à tous
    C exactement le code de Selenite mais il me renvoie l'erreur
    error C3861: 'rechpart': identificateur introuvable, même avec une recherche qui dépend de l'argument
    A+

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    Chez moi (VC7.1) ceci compile très bien (j'ai rajouté le constructeur pour faire un appel à func1, mais ça ne change rien):

    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
    33
    34
     
    #include <iostream>
     
     
    class A 
    {
     
    public:
    	A ( )
    	{
    		func1();
    		return;
    	}
     
    private:
    	void func2 ( ) 
    	{ 
    		std::cout << "func2" << std::endl; 
    		return; 
    	} 
     
    	void func1 ( ) 
    	{ 
    		func2( ); 
    		return; 
    	} 
    };
     
     
    int main()
    {
    	A a;
    	return 0;
    }


    Quant à l'erreur, j'ai ruen compris à MSDN.

    Citation Envoyé par MSDN
    'identifier': identifier not found, even with argument-dependent lookup
    The compiler was not able to resolve a reference to an identifier, even using argument-dependent lookup.
    The following sample generates C3861:

    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
     
    // C3861.cpp
    #include <stdio.h>
    namespace NS
    {
       struct X {};
       void f(void*, int)
       {
          printf("in NS::f()\n");
       }
    };
     
    int main()
    {
       NS::X x;
       f( &x, 0);   // found using argument-dependent lookup
       f( &x, undeclared1, g( undeclared2 ) );   // C3861 on g
    }

  8. #8
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 282
    Points : 11 036
    Points
    11 036
    Par défaut
    Oups avec ton double post, sélénite, dont le premier qui ressemblait à une réponse à ma question je t'ai pris pour le PO. @_@

    Donc, frmaniako, tu fais comme sélénite, tu crées une nouveau projet et dedans tu ne gardes que le strict minimum en rapport avec ton problème. C'est à dire, que ton code ne doit pas être plus long et qu'il doit générer l'erreur que tu en ce moment. Après, tu nous le donnes.

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    Citation Envoyé par Luc Hermitte
    Oups avec ton double post, sélénite, dont le premier qui ressemblait à une réponse à ma question je t'ai pris pour le PO. @_@

    Tout s'explique ^^.

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

Discussions similaires

  1. [WPF] appeler une méthode de la classe "parente"
    Par JuTs dans le forum Framework .NET
    Réponses: 3
    Dernier message: 19/10/2007, 10h44
  2. Réponses: 6
    Dernier message: 25/04/2007, 19h07
  3. appels de méthodes de différentes classes
    Par seb__ dans le forum Langage
    Réponses: 6
    Dernier message: 12/10/2006, 23h14
  4. [POO]Appelé une méthode d'une classe mère
    Par LE NEINDRE dans le forum Langage
    Réponses: 2
    Dernier message: 14/12/2005, 15h44
  5. Réponses: 2
    Dernier message: 31/08/2005, 17h12

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