Probleme de tableau - C++ - Programmation
Marsh Posté le 08-12-2002 à 19:15:19
NomObjet *tab=new NomObjet[nb];
est ce que nb est valide (pas négatif?). donne plus de code s'il te plait
Marsh Posté le 08-12-2002 à 19:20:11
dragonspyro93 a écrit : nb est un entier positif >0 |
et l'est ou le code stp?
Marsh Posté le 08-12-2002 à 19:37:01
class Objet1{
public:
NomObjet1(){num=0;}
int num;
};
class Objet2{
public:
NomObjet2(){nb=1;}
Methode(){Objet1 tab=new Objet1[nb];nb++;}
int nb;
};
void main(){
Objet2 *obj=new Objet2();
obj->Methode()
}
Marsh Posté le 08-12-2002 à 19:37:52
voila j ai extremement simplifié parce que en fait je fais de l OPENGL
mais rien que ca marche pas
Marsh Posté le 08-12-2002 à 19:41:44
ben ton code est bon sauf:
le type de retour de main doit etre int (et il n'y pas besoin d'ecrie return 0;
NomObjet1(){num=0;} peut etre préférablement ecrit NomObjet1() : num(0) {};
j'espere que num n'est public que par faute de frappe, sinon, c'est aps terrible comme encapsulation.
donne ton vrai code, la ou ca plante s'il te plait. est tu sur que ca vienne des allocations?
Marsh Posté le 09-12-2002 à 00:39:42
Le constructeur doit avoir le même nom que la classe.
Sinon, ce n'est pas un constructeur et ni num ni nb ne sont initialisés.
En faisant abstraction du fait que ça ne devrait même pas compiler vu qu'il manque les types de retour...
Code :
|
Marsh Posté le 08-12-2002 à 19:10:14
Voila j ai un tableau d objet que je declare de la facon suivante :
NomObjet *tab=new NomObjet [nb];
le probleme est que ca plante a l execution
nb est une variable entiere
je comprends pas ??
Vous avez une solution ??