Comment affecter un tableau à un pointeur d'une classe?

Résolu
cesdejong Messages postés 16 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 14 juin 2006 - 19 sept. 2004 à 00:49
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 19 sept. 2004 à 15:34
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

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
19 sept. 2004 à 01:09
c'est quoi le prototype de fonction ?

l'objet ne doit pas etre specifié const
3
cesdejong Messages postés 16 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 14 juin 2006
19 sept. 2004 à 01:42
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?
0
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
19 sept. 2004 à 01:48
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+ ;)
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
19 sept. 2004 à 02:21
en c++ tu mets NULL ou 0, c'est la meme chose
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cesdejong Messages postés 16 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 14 juin 2006
19 sept. 2004 à 15:20
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.
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
19 sept. 2004 à 15:34
mets les a null a la construction tant qu'a faire

class truc{

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

public:

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

};
0
Rejoignez-nous