Bonjour à tous,
J'ai un petit soucis que je n'arrive pas à résoudre seul.
J'ai une structure:
je veux créer un tableau avec cette structure. Seulement je ne connais pas sa taille lorsque je la créé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 struct S_RailVirtuel { string idrail_virtuel; int position_h; int largeur; string type; string idtablette; };
Je la passe en paramètre d'une fonction:
Voici la déclaration de cette fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 S_RailVirtuel * aRailVirtuel=NULL; nbRailVirtuel = this->SelectRailVirtuelByIdtablette(&aRailVirtuel,idtablette);
Et une partie de son code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int SelectRailVirtuelByIdtablette(S_RailVirtuel ** aRailVirtuel,string idtablette)
Tout se passe bien dans la fonction SelectRailVirtuelByIdtablette(), seulement lorsque je veux utiliser aRailVirtuel dans la fonction appelant, je ne peux accéder qu'à ma première ligne de mon tableau... dois-je utiliser une liste chaînée? Merci pour vos réponses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 if((nbEnregistrement = this->mysql_rob->Querry(requeteSQL.c_str(),&result))) { //création de la structure *aRailVirtuel = new S_RailVirtuel [nbEnregistrement] ; //parcours des lignes for(int cpt=0;cpt<nbEnregistrement;cpt++) { uneLigne = mysql_fetch_row(result); aRailVirtuel[cpt] = new S_RailVirtuel; aRailVirtuel[cpt]->idrail_virtuel = uneLigne[0]; //idrail_virtuel aRailVirtuel[cpt]->position_h = atoi(uneLigne[1]); //position_h aRailVirtuel[cpt]->largeur = atoi(uneLigne[2]); //largeur aRailVirtuel[cpt]->type = uneLigne[3]; //type de RV aRailVirtuel[cpt]->idtablette = uneLigne[4]; //idtablette } } mysql_free_result(result); return nbEnregistrement;
Partager