cs_GrosKiff1994
Messages postés2Date d'inscriptiondimanche 17 juin 2012StatutMembreDernière intervention18 juin 2012
-
17 juin 2012 à 18:42
cs_GrosKiff1994
Messages postés2Date d'inscriptiondimanche 17 juin 2012StatutMembreDernière intervention18 juin 2012
-
18 juin 2012 à 15:51
Bonsoir,
Je débute en programmation, et je galère avec un simple tableau à 2 dimensions à envoyer dans une fonction pour le mettre à 0.
#include
using namespace std;
void Clear(int *p)
{
int i = 0;
int j;
for (i=0; i<8; i++)
{
j = 0;
for (j=0; j<8; j++)
{
p[i][j] = 0;
}
}
}
void DrawScreen();
int main()
{
cout << "PACMAN TEST" << endl;
int positionX = 3;
int positionY = 3;
int tableau[8][8];
Clear(tableau);
while(1)
{
DrawScreen();
}
return 0;
}
l'erreur : |14|error: invalid types 'int[int]' for array subscript|
C'est sans doute une histoire de pointeur, mais je ne vois pas où est le problème.
Ensuite, c'est normal. Un int* n'est pas un int[8][8] ! Ce n'est pas la même chose. On peut convertir un int[] en int*, mais on ne peut pas convertir un int[][] en int* ou int**. Il te faut soit utiliser un tableau à double dimension en int** ou alors spécifier que la fonction prend du int[8][8].
Ex:
#include
void clear(int p[8][8])
{
for (int i = 0; i < 8; ++i)
for (int j = 0; j < 8; ++j)
p[i][j] = 0;
}
void DrawScreen();
int main()
{
std::cout << "PACMAN TEST" << std::endl;
int tableau[8][8];
clear(tableau);
while(1)
DrawScreen();
return 0;
}
Néanmoins, je te conseil d'oublier les tableaux comme tu le fais et d'utiliser un std::vector ! Bien plus pratique et puissant à utiliser.
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
cs_GrosKiff1994
Messages postés2Date d'inscriptiondimanche 17 juin 2012StatutMembreDernière intervention18 juin 2012 18 juin 2012 à 15:51
Merci pour ces réponses !
Cependant yann_lo_san (cool, un autre Yann sur Terre !), je vais tenter de maitriser les bases avant de taper dans du memset, même si je crois comprendre.