Pointeurs et arguments...

Résolu
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 - 28 oct. 2004 à 20:22
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 - 29 oct. 2004 à 17:44
bonjour,

quelqu'un peut il m'expliquer cette erreur de compilation:

cannot convert `GLfloat*' to `float' for argument `1' to ` void ExpRotateX(float, float, float, float)'

a partir de ce code:

void ExpRotateX(GLfloat* x, GLfloat* y, GLfloat* z, GLfloat alpha)
{
}

void rotate()
{
ExpRotateX( &cube[a].x[1], &cube[a].y[1], &cube[a].z[1],1);
}

cube[a].x[1] etant de type GLfloat, d'apres la structure:

typedef struct point
{
GLfloat x[2];
GLfloat y[2];
GLfloat z[2];
GLfloat T[3];
GLfloat M[3];
};
point cube[8];

je ne vois pas du tout
merci

7 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
28 oct. 2004 à 22:24
atta, ben tu n'as ka changer le prototype de ta fonction si tu peux le faire, tu remplaces tt t float par des float* ! Et la tu laisse le &, tu n'auras plus d'erreurs, et en plus tes variables auront changé, logik..
3
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
28 oct. 2004 à 20:44
Avec l'operateur &, tu passes l'adresse de la variable, pkoi ne pas essayer de lenlever ?
Et pour ton dernier param, fais 1.f a la place de 1..

++
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
28 oct. 2004 à 20:46
Et au pire, sil ne veut tjrs apres la modif dont j'ai parlé plus haut, pas paskil va ptet te dire 'cannot convert from GLfloat to float...', tu fais un petit cast (float)...

Voila, bonne chance !

++
0
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
28 oct. 2004 à 21:34
le pire c'est que j'ai deja essayé tout ca et ca ne marche pas
meme avec le cast (float)

en fait des que j'enleve les & j'ai plus d'erreur mais la variable pointé: cube[a].x[1] ne change pas!!
meme si je fais un truc du genre *x=12; dans ma fonction ExpRotateX(); bizarre ...

Ca voudrait dire que x ne pointe pas sur cube[a].x[1] mais je vois pas pourquoi....
Et puis normalement ya pas besoin de & parce que cube[a].x[1] est un tableau :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
28 oct. 2004 à 21:45
L'erreur viens peut etre du fait que cube est un tableau de structures et x un tableau de GLfloat....
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
28 oct. 2004 à 22:28
tu fais quoi dletozeun ? un moteur de rendu logiciel ?
0
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
29 oct. 2004 à 17:44
ben en fait desolé !mais mon probleme ne venais pas de la! (ouf)
En fait j'ai refait entierement le projet (sous devcpp) et la ca fonctionne.En fait je programmais deux projets qui avaient le header contenant ce code en commun....mais finalement ils etaient differents !et j'utilisais l'header de l'autre projet! (sivous ne comprenez pas c normal ;) moi meme g du mal a me comprendre parfois)
djl>J'essais d'animer un cube qui tombe sur un plan en rebondissant de facon realiste .

voila le prob est reglé MERCI ;)
0
Rejoignez-nous