Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1401 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Probleme pour retourner un tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Probleme pour retourner un tableau

n°67215
bkadoum
Posté le 23-10-2001 à 18:34:04  profilanswer
 

J'ai une classe contenant un tableau d'une structure Axe et une fonction retournant un pointeur sur ce tableau:
 
struct Axe
{
int x, y;
};
 
class A
{
private:
Axe *tab[100];
public:
Axe * GetTab() {return *tab;}
};
 
Ensuite j'ai une autre classe qui contient une fonction récupérant et traitant ce tableau:
 
class B
{
public:
void Poum(Axe **pAxe) {pAxe[0]->x = 0;}
};
 
Pis dans mon main je met en rapport les objets de ces 2 classes:
 
void main()
{
A *pA
B *pB
Axe *p = pA->GetTab();
 
pB->Poum(&p); //va traiter le tableau de pA
}
 
Voila et quand je lance l'application se ferme directe, c'est sûrement un probleme de pointeur.
Avez-vous une meilleure solution pour retourner un tableau, le passer en paramètre pour le retraiter dans une autre fonction?

mood
Publicité
Posté le 23-10-2001 à 18:34:04  profilanswer
 

n°67218
youdontcar​e
Posté le 23-10-2001 à 18:56:27  profilanswer
 

Axe *tab[100];  
déclare un tableau de 100 _pointeurs_ sur Axe.
 
Axe tab[100];
déclare un tableau de 100 Axe.
 
Axe* tab;
déclare un pointeur sur Axe. peut être un tableau, dans ce cas c'est mieux de te faire un classe tableau. pour le moment, tu peut garder le pointeur et son nombre d'instances dans la classe:
int numAxes;
 
et quand tu construits :
class A
{
  A(int numAxes)
 
A::A()
{
  this->numAxes = numAxes;
  tab = new Axe [numAxes];
}
 
le GetTab() se résume alors à { return tab; }
 
pour ton 'poum' :  
 
void Poum(Axe* pAxe) { pAxe[0]->x = 0; }
 
je ne vois pas bien l'intérêt de passer par un pointeur de pointeur ...  
 
ah au fait, ton applic crashe car tu n'alloues nulle part de mem, tu ne fais que déclarer des pointeurs.

n°67219
__Lolo__
C'est pouleversant !
Posté le 23-10-2001 à 18:57:07  profilanswer
 

l'objet std::vector de la stl ? :D

n°67220
bjbebert
Posté le 23-10-2001 à 18:57:16  profilanswer
 

Dans la classe A, l'instruction Axe *tab[100], cree un tableau de 100 pointeurs sur axe. mais ces pointeurs ne sont pas initialisés. Donc le tab[0]->x = 0 plante pcq tab[0] n'est pas un pointeur valide.

n°67221
youdontcar​e
Posté le 23-10-2001 à 18:57:33  profilanswer
 

et si tu expliquais en bon français ce que tu veux faire aussi ... plutôt que de balancer du c++ cash.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] Probleme pour retourner un tableau

 

Sujets relatifs
Tableau HTML[Visual Basic] - Initialiser un tableau de taille variable
Tableau qui ne reste pas en place sous Netscape 6[ HTML ] Comment centrer VERTICALEMENT un tableau dans une page?
[ADA95] Problème de saisie de chaîne de caractères[JavaScript] probleme History
[PHP] problème avec la requête DELETE FROM.retourner un tableau double
[PHP] probleme avec un webmail 
Plus de sujets relatifs à : [C++] Probleme pour retourner un tableau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR