sarcipus
Messages postés9Date d'inscriptionjeudi 19 mars 2009StatutMembreDernière intervention31 mars 2009
-
31 mars 2009 à 00:42
sarcipus
Messages postés9Date d'inscriptionjeudi 19 mars 2009StatutMembreDernière intervention31 mars 2009
-
31 mars 2009 à 14:38
Bonjour à tous,
dans le programme sur lequel je travaille, j'aurais besoin qu'une fonction retourne un tableau multidimensionnel (dont je ne peux connaître la taille qu'une fois la fonction exécutée). J'espère que ma question n'est pas trop confuse. Quelqun aurait-il une idée ?
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 31 mars 2009 à 07:12
salut
tu veux renvoyer un tableau dont tu ignores la taille ? C'est impossible car avant de le renvoyer, il faut l'allouer et si tu ne connais pas la taille, tu ne peux pas.
int main()
{
int size;
UCHAR *tab=0;
function(&tab,&size);
...
delete []tab;
Maintenant si on veut vraiment être rigoureux, il est préférable que ce soit la fonction main qui fasse l'allocation dynamique parce qu'il y a de grande chance que le programmeur oublie de libérer la mémoire de tab.
Ne peux tu pas faire deux fonctions: une pour calculer la taille à alloué,et l'autre pour le reste du traitement?
A+
____________________________________________________________________________
Mon site internet :
http://ImAnalyse.free.fr
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 31 mars 2009 à 10:24
"(dont je ne peux connaître la taille qu'une fois la fonction exécutée)"
toi, ta fonction prend la taille en parametre, ca implique qu'on conaisse la taille avant.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 31 mars 2009 à 10:55
Non dans ma fonction, size est un pointeur que je retourne au main. Doù le *size=XXXXX;
A+
____________________________________________________________________________
Mon site internet :
http://ImAnalyse.free.fr
sarcipus
Messages postés9Date d'inscriptionjeudi 19 mars 2009StatutMembreDernière intervention31 mars 2009 31 mars 2009 à 13:22
Merci pour l'astuce. Je vais essayer.
Effectivement, je peux faire une fonction qui retourne la taille nécessaire pour
la création du tableau. Par contre je peux faire faire pour que la fonction (qui devait retourner le tableau) puisse le remplir ?