J'ai une fonction qui doit renvoyer 2 pointeurs sur 2 buffers differents. J'ai donc penser a faire un tableau de pointeurs que ma fonction renverraient... mais ca marche pas.
je fais:
int *buffer[2]
int **Separate_buffer(/*.....*/)
{
/*...........*/
return buffer
}
et je sais po comment recuperer tout ca..
Kkun sait?(je pense que oui! )
Et c'est possible de le faire avec des classes au lieu d'un tableau de pointeurs? ( je pense que oui aussi )
Publicité
Posté le 19-08-2001 à 19:58:12
Dav Vador
Posté le 19-08-2001 à 20:04:13
Si j'ai bien compris tu veux que ta fonction renvoie 2 résultats différents. Or normalement, tu ne peux en renvoyer qu'1 seul. Astuce : faire une struct{int **adr1;int **adr2;} et renvoyer la struct qui contiendra les 2 adresses.
yush
Posté le 19-08-2001 à 20:06:11
Citation :
[quote]Si j'ai bien compris tu veux que ta fonction renvoie 2 résultats différents. Or normalement, tu ne peux en renvoyer qu'1 seul.
Tout a fait!
Mais tu pourrais expliquer un peu plus l'histoire des pointeurs et comment on fait concretement?
youdontcare
Posté le 19-08-2001 à 20:07:21
des pointeurs type int* buffer suffisent ...
struct myStruct
{
int* buffer1;
int* buffer2;
}
myStruct myFunction()
{
myStruct s;
s.buffer1 = new ...
s.buffer2 = new ...
return s;
}
youdontcare
Posté le 19-08-2001 à 20:08:20
et pour le faire avec une classe, ça dépend de tes besoins. c'est pour faire quoi au juste ?
yush
Posté le 19-08-2001 à 20:13:22
Je veux prendre un buffer ( ds lequel y'a une image) et les separer en 2 buffers ( une image ds chaque ).
XuTi
Posté le 19-08-2001 à 20:15:13
int **Separate_buffer(/*.....*/) {
int **buf_return=NULL;
returnr[0] = new int[taille];
returnr[1] = new int[taille];