Bonjour

J'utilise sdl et cherche a faire une fonction de floutage pour cela je fait des opérations sur les Uint8*

Voici une partie de mon code ou pixel est le pixel actuel de type Uint8*. on fait +1,+2 sur le pointeur pour récupérer les 2 autres couleurs (on commence sur le rouge)
je déclare side_pixels comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Utin8* side_pixels[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Uint8* moy = 0;
            for (size_t i = 0; i < 8; i++) {
                moy = moy + side_pixels[i];
            }
            moy = moy / 8;
            pixel[0] = moy;
            pixel[1] = moy;
            pixel[2] = moy;
Voici mon message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
gcc  -o blur.o -c blur.c
blur.c: In function ‘blurring’:
blur.c:37:27: error: invalid operands to binary + (have ‘Uint8 *’ {aka ‘unsigned char *’} and ‘Uint8 *’ {aka ‘unsigned char *’})
   37 |                 moy = moy + side_pixels[i];
      |                           ^ ~~~~~~~~~~~~~~
      |                                        |
      |                                        Uint8 * {aka unsigned char *}
blur.c:39:23: error: invalid operands to binary / (have ‘Uint8 *’ {aka ‘unsigned char *’} andint)
   39 |             moy = moy / 8;