Class en c++
PP68240
Messages postés
2
Statut
Membre
-
Topic -
Topic -
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
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
-
Salut,
Le mieux serait que tu nous montre le code. -
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);
} -
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.