passer un tableau de type à 2 dimensions en paramètre ? comment faire - C++ - Programmation
Marsh Posté le 04-12-2003 à 23:35:54
oh du C
int main()
<iostream>
<cstdlib>
<ctime>
etc
fait une recherche et t'auras ta réponse
Marsh Posté le 04-12-2003 à 23:37:47
Premièrement, si tu fais vraiment du C++, alors oublie le typedef pour les struct. Ce n'est pas utile en C++. Ensuite, on evite les #define, surtout pour definir des constantes. "const int nbl = 20;" marche bien. Et pour finir, grille est defini comme étant un type, pas une variable. Bien sur que tu ne peux pas faire remplir(grille) comme ça !
Marsh Posté le 05-12-2003 à 10:30:28
oui jai compris merci ....
j'ai confondu le type et le tableau ....
scusez moi
Marsh Posté le 04-12-2003 à 23:07:38
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#define nbl 20
#define nbc 20
typedef struct
{
int show;
char hide;
}tab;
typedef tab grille[nbl][nbc];
void remplir(tab grid[nbl][nbc])
{
srand( (unsigned)time( NULL ) );
for(int i=0;i<nbl;i++)
{
for(int j=0;j<nbc;j++)
{
grid[i][j].show=rand()%2;
grid[i][j].hide='*';
}
}
}
void afficher(tab grid[nbl][nbc])
{
for(int i=0;i<nbl;i++)
{
for(int j=0;j<nbc;j++)
{
cout<<grid[i][j].show<<" ";
}
cout<<endl;
}
}
void main()
{
remplir(grille);
afficher(grille);
}
-----------------------------------------------------
voila le compilateur plante en me disant que le tableau grille ne se passe pas de cette manière dans le void main .....
vous avez une idée ?