Pb avec passage de tableau à une fonction par pointeur
Voila mon problème est le suivant: j'ai une fonction qui effectue des opérations sur un tableau. J'ai défini une structure 'pts' qui à tout élément associe un 'x', un 'y' et un 'z' (coordonnées des points). Je veux modifier directement un tableau global dont les éléments sont des points du type 'pts', donc je passe l'adresse du premier élément du tableau en argument à ma fonction. Je fait ma popote et paf ! à la compilation, une vieille erreur au moment de l'appel de la fonction (j'ai défini le prototype avant de l'appeler) ... j'y comprend rien !
Voici l'extrait du code incriminé :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
void translation(pts *tabMesh[], int tailleMesh , pts b)
{
for(int i=0; i<= tailleMesh-1; i++)
{
tabMesh[i]->x = tabMesh[i]->x + b.x;
tabMesh[i]->y = tabMesh[i]->y + b.y;
tabMesh[i]->z = tabMesh[i]->z + b.z;
}
return;
}
// Appel de la fonction
translation(&ptMesh[0], nbPts , v); |
L'erreur :
Code:
..\Projection.cpp cannot convert `pts*' to `pts**' for argument `1' to `void translation(pts**, int, pts)'
Ca doit être relativement basique comme bourde mais malgrés tous les épluchage de tutos faq forum et co j'ai pas trouvé ! A l'aide lol
Merci d'avance
Re: Pb avec passage de tableau à une fonction par pointeur
Citation:
Envoyé par LordProgz
Je veux modifier directement un tableau global [b]dont les éléments sont des points du type 'pts'[b], donc je passe l'adresse du premier élément du tableau en argument à ma fonction
// Appel de la fonction
translation(&ptMesh[0], nbPts , v);
//fonction:
void translation(pts *tabMesh[], int tailleMesh , pts b)
implique donc:
L'erreur : ..\Projection.cpp cannot convert `pts*' to `pts**' for argument `1' to `void translation(pts**, int, pts)'
"[b]dont les éléments sont des points du type 'pts'[b]"
c est la le probleme ton tableau d entree contient des pts alors que celui de la fonction contient des pointeur de pts
donc tu transformes un tableau de pts (pts*) en un tableau de pointeur de pts (pts**), ceci est une erreur d ou le message d erreur
J ai bon?