Class en c++

Fermé
PP68240 Messages postés 2 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 20 avril 2007 - 19 avril 2007 à 16:04
 Topic - 20 avril 2007 à 11:22
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

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
19 avril 2007 à 19:37
Salut,

Le mieux serait que tu nous montre le code.
0
PP68240 Messages postés 2 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 20 avril 2007
20 avril 2007 à 10:18
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);
}
0
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.
0