passage d'un tableau de structure en paramètre d'une fonction
Bonjour à tous,
J'ai un petit soucis que je n'arrive pas à résoudre seul.
J'ai une structure:
Code:
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 veux créer un tableau avec cette structure. Seulement je ne connais pas sa taille lorsque je la créé.
Je la passe en paramètre d'une fonction:
Code:
1 2 3
|
S_RailVirtuel * aRailVirtuel=NULL;
nbRailVirtuel = this->SelectRailVirtuelByIdtablette(&aRailVirtuel,idtablette); |
Voici la déclaration de cette fonction:
Code:
1 2
|
int SelectRailVirtuelByIdtablette(S_RailVirtuel ** aRailVirtuel,string idtablette) |
Et une partie de son code:
Code:
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; |
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