no save
Assistance
Achat
News

Forum | programmation
[C++] initialisation dynamique de pointeur
Emmanuel, le mar. 17 mai 2005 à 12:22:35
Je debute en C++ et je prends en main un code deja existant.
Les pointeurs sont pour l instant defini de maniere arbitraire avec une taille maximum bien superieure a nos besoins. J ai donc voulu faire une initialisation dynamique mais je m heurte a une difficulte car les informations sur les tailles des pointeurs ne sont pas disponibles dans le programme principal. Je souhaiterai donc faire cette initialisation dans le corp d une fonction secondaire mais malheureusement je ne peux pas en C++ passer en argument un pointeur non initialise. Pour l instant je m en sors en definisant des pointeurs globaux mais je voulais savoir s il y avait une solution plus raffinee?
La structure du code n est pas tres souple et je ne peux pas recuperer la taille des pointeurs en dehors de cette fonction.
Pour ceux qui auraient du mal a me suivre voila en code ce que je souhaiterai faire, fonction f1. Mais qui ne fonctionne pas.
Merci

// function declaration
double *f(void);
void f1(double *x);
void f2(void);


//global variable
double *pt2;


double *f(void)
{
static int j;
double *x = new double[20];
for (int i =0; i<20;++i)
x[i] = i*(j+1);
j =j+1;
cout <<"j="<<j<< "\n";
return(x);
}

void f1(double *x)
{
static int j;
// delete[] x;
x = new double[20];
for (int i =0; i<20;++i)
x[i] = i*(j+1);
j =j+1;

}

void f2(void)
{
static int j;
pt2 = new double[20];
for (int i =0; i<20;++i)
pt2[i] = i*(j+1);
j =j+1;

}



int main()
{
double pt1[1];
double *pt;
int n=0;
while (n<2) {
n +=1;
// pt=f();
// f1(pt1);
f2();

return(EXIT_SUCCESS);
}


pom
mai 05
Suivant
REPONSES
pom
mai 05
emmanuel
mai 05
Kermitt31
mai 05
mamiemando
mai 05
emmanuel
mai 05
emmanuel
mai 05
Kermitt31
mai 05
emmanuel
mai 05
emmanuel
mai 05
pom
mai 05
Version Web
Réalisé par RedShift
no save