Bonjour à tous,
Me revoila encore avec mes tableaux doubles entrées...
Alors voila, j'ai un tableau de 255 lignes et 255 colonnes qui est déja rempli. j'ai deux variables int u et v et je voudrais faire une action à chaque fois que tableau[u][v] est supérieur à 10 par exemple.
Voila le code :Alors voila il ya plusieurs choses que je comprends pas : on m'a appris que lorsque l'on déclarait un pointeur avec une étoile comme ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 int* tab_reference[255][255]; int u=0; int v=0; u=ess.val[1]; v=ess.val[2]; printf("u=%d et v=%d\n",u,v); printf("tab reference = %d\n",tab_reference[u][v]); if(*(tab_reference[u][v]) > 5) { //faire quelque chose }pour obtenir la valeur de mon pointeur (son contenu pas son adresse ) il fallait mettre une étoile devant, or le printf marche très bien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part int* tab_reference[255][255];
Ensuite j'ai d'abord fais une condition :et la tout marchait bien. Puis j'ai voulu la modifier et mettre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if((tab_reference[u][v]) !=0)
et c'est la que les ennuis ont commencé... j'ai obtenu l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part if((tab_reference[u][v])>5)
Code : Sélectionner tout - Visualiser dans une fenêtre à part error C2446: '>'*: pas de conversion de 'int' en 'int *'...
Code : Sélectionner tout - Visualiser dans une fenêtre à part error C2040: '>'*: les niveaux d'indirection de 'int *' et de 'int' sont différents
C'est pour ca que j'ai mis une étoile dans le code en haut dans ma condition. Ainsi le programme compile très bien mais dès que j'execute, le programme cesse de fonctionner sans aucune explication...
J'espère avoir été assez claire... désolée pour l'édit,erreur de manip.
Merci pour vos réponses
Partager