Bonjour,
Je travaille sur un code existant pas bien lisible où presque tout a été mis dans le main. J'essaie donc de rendre ça plus lisible en utilisant des fonctions.
Mon code de base est le suivant:
main.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| enum location{pavement=255, road=0, wall_h=128, wall_v=192};
int main(int argc, char* argv[])
{
...
int rows;
int cols;
int ro=0;
int col=0;
int **grid = imatrix(0, rows, 0, cols); (où imatrix est une fonction définie dans un autre fichier)
bitmpap pic;
for(ro=0;ro<rows;ro++)
for(col=0;col<cols;col++)
{
grid[ro][col]=(location)(pic[ro][col].R);
}
...
} |
bitmpap est défini dans un fichier .h (il y a donc un include dans mon main)
bmpusmp.h
1 2 3 4 5 6 7 8
| ...
struct rgb
{
unsigned char B, G, R;
};
typedef rgb** bitmap ; |
Le code de base fonctionne.
J'ai donc essayé d'organiser de la manière suivante:
main.cpp
locationGrid(rows,cols,grid,&pic);
location_grid.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include ... (.h)
enum location{pavement=255, road=0, wall_h=128, wall_v=192};
void locationGrid(int rows,int cols,int **grid,bitmap *pic)
{
int ro; //lignes //
int col;
for(ro=0;ro<rows;ro++)
for(col=0;col<cols;col++)
{
grid[ro][col]=(location)(pic[ro][col]->R);
}
}
location_grid.h
#include ...
void locationGrid(int,int,int**,bitmap*); |
Et j'ai pas touché le bmpusmp.h
Et quand je compile mon code j'ai mon programme qui plante donc je peux même pas voir sur quelle ligne j'ai fait mon erreur mais je suppose que c'est en lien avec bitmap. Donc si quelqu'un peut m'expliquer mon erreur ce serait cool (dites moi si il manque des précisions dans ce que j'ai mis).
Merci
Partager