Class en c++

Bonjour
Si j'utilise la création d'une intance de class et un membre de cette même class dans une même fonction , aucun pb à la compilation.
Si j'utilise la création d'une instance et un membre dans deux foncions distinctes, le compilateur m'indique une erreur dans la deuxième fonction: :: === test10, Release ===
C:\test10\test10Main.cpp:83: error: `instanceA' undeclared (first use this function)
Pourquoi ?

merci de votre aide

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Voici le code

    // classA.h
    #ifndef CLASSA_H_INCLUDED
    #define CLASSA_H_INCLUDED
    class A
    {
    private:
    int a;

    public:
    void testA(int x);
    };

    #endif // CLASSA_H_INCLUDED

    // classA.cpp
    #include "classA.h"

    void A::testA(int x)
    {
    a = x;
    };

    *********
    * Name: test10Main.cpp

    void test10Dialog::OnClic1( wxCommandEvent& event)
    {

    A instanceA;

    }
    void test10Dialog::OnClic2( wxCommandEvent& event)
    {
    int xx;
    instanceA.testA(xx);
    }
    1. Bonjour,

      instanceA que tu créés dans ta fonction OnClic1 n'a qu'une portée limitée a cette fonction.
      Dès que tu sors de ta fonction instanceA est détruit.

      Dans OnClic2 instanceA n'existe pas.