Comment affecter un tableau à un pointeur d'une classe? [Résolu]

Signaler
Messages postés
16
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
14 juin 2006
-
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
-
Bonjour,
je débute un peu en C++ et je suis confronté à un problème pour lequel je ne trouve pas de solution élégante :

class truc{

...
int* abscisse;
int** pabscisse;
}

void fonction(...)
{

int* abs = new int[...];
for(i=0;i<max;i++)
abs[i]=i;

abscisse = abs; // ne marche pas
*pabscisse = abs // je suis obligé de procéder comme ça
}

dans le premier cas, le compilateur refuse d'effectuer l'affectation "l-value specifies const object"

Que se passe t'il et comment pourrais-je donc faire?

Merci d'avance de vos réponses.

6 réponses

Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
c'est quoi le prototype de fonction ?

l'objet ne doit pas etre specifié const
Messages postés
16
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
14 juin 2006

bon je crois que tu m'as mis sur la bonne voie, parce que fonction est une fonction membre de la classe et que bêtement j'ai fait
void Tables::fonction(void) const

C'est pas malin de poser une question si con pour la première sur le forum, désolé.

Merci merci en tout cas.

Tiens, ça me fait me poser une petite question : que faut-il faire dans le constructeur des variables membres en attente d'être affectées? On peut les mettre à NULL tt simplement?
Messages postés
700
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
27 janvier 2009
4
en attente d'etre affectée ?? tu les mets a ce que tu veux, apres si ds ta classe une méthode utilise une variable membre non initialisée, c'est que ta classe est mal concue. a toi de voir ce qui est possible de faire avec ta classe, mais c'est toi qui doit te débrouiller pour rendre impossible un plantage (ou un résultat qui n'etait pas prévu car sans sens) qd on utilise les méthodes de la classe.

a+ ;)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
en c++ tu mets NULL ou 0, c'est la meme chose
Messages postés
16
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
14 juin 2006

Merci d'abord pour ces réponses.
Disons que le contenu de certaines variables de ma classe est encore inconnu au moment de sa construction.
Donc si je les met à NULL dans le constructeur, c'est un bon moyen de ne pas faire n'importe quoi tant qu'elles ne sont pas remplies.
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
mets les a null a la construction tant qu'a faire

class truc{

...
int* abscisse;
int** pabscisse;

public:

truc() : abscisse(0), pabscisse(0)
{}

};