OVH Cloud OVH Cloud

[C-Langage] sur quel forum ?

2 réponses
Avatar
erwin
J'ai besoin d'écrire une routine en C que je n'ai pas pratiqué depuis
tres longtemps (on danse la Java maintenant...) et j'ai un problème de
pointeur qui me bloque.. sur quel forum je peux "X-crosser" (French ou
English)

-----------------
j'ai une structure

typedef struct {
unsigned char r,g,b,a;
} BITMAP4;

------------------
que j'utilise pour stocker des pixels

BITMAP4 *panimage = NULL;
.....
panimage = Create_Bitmap(*panwidth,*panheight);
....
BITMAP4 *Create_Bitmap(int nx,int ny) {
return((BITMAP4 *)malloc(nx*ny*sizeof(BITMAP4)));
}
----------------------------
pas de problème pour l'utiliser
mais ensuite je dois transmettre cette array 'panimage' à une fonction
qui demande un pointeur de type unsigned char....

boolean MakeImage ( MWType *wd, const unsigned long columns, const
unsigned long rows, const char *map, const SType storage, unsigned char
*pixels )

l'array pixels doit être mon array panimage

si j'écrit : MakeImage (myWD, 640, 480, "RGBA", CharPixel, panimage);
j'ai un message d'erreur ....
warning: passing arg 6 of `MakeImage' from incompatible pointer type

-------------

que dois je faire ? merci

erwin

2 réponses

Avatar
DINH Viêt Hoà

que dois je faire ? merci


fr.comp.sys.mac.programmation

--
DINH V. Hoa,

"Je me demande comment ça se fait qu'un tel génie n'ait pas déjà été
repéré par les grosses boites d'info de la planète." -- FiLH

Avatar
Jaypee
erwin wrote:
J'ai besoin d'écrire une routine en C que je n'ai pas pratiqué depuis
tres longtemps (on danse la Java maintenant...) et j'ai un problème de
pointeur qui me bloque.. sur quel forum je peux "X-crosser" (French ou
English)

-----------------
j'ai une structure

typedef struct {
unsigned char r,g,b,a;
} BITMAP4;

------------------
que j'utilise pour stocker des pixels

BITMAP4 *panimage = NULL;
.....
panimage = Create_Bitmap(*panwidth,*panheight);
....
BITMAP4 *Create_Bitmap(int nx,int ny) {
return((BITMAP4 *)malloc(nx*ny*sizeof(BITMAP4)));
}
----------------------------
pas de problème pour l'utiliser
mais ensuite je dois transmettre cette array 'panimage' à une fonction
qui demande un pointeur de type unsigned char....

boolean MakeImage ( MWType *wd, const unsigned long columns, const
unsigned long rows, const char *map, const SType storage, unsigned char
*pixels )

l'array pixels doit être mon array panimage

si j'écrit : MakeImage (myWD, 640, 480, "RGBA", CharPixel, panimage);
j'ai un message d'erreur ....
warning: passing arg 6 of `MakeImage' from incompatible pointer type

-------------

que dois je faire ? merci

erwin
Si tu es sûr de ce que tu es en train defaire, tu "castes" le tableau au

type pointeur que le prototype de la fonction attend.
(unsigned char *)panimage

C'est le style C, çà peut surprendre, mais c'est la pratique habituelle.
J-P