passage de pointeur en arguments
Bonjour,
J ai de nouveau un problème, toujours avec mon programme:
Je travail un générateur de nombre aléatoire intitulé
ran2
qui prend en argument un pointeur, &iseed.
maintenant, j appelle cette fonction à l intérieur d une autre fonction :
generate_matrix :
*******fichier matrix.h******
Code:
1 2
|
extern void generate_matrix(double matrix[nx][ny],long *iseed); |
*******fichier matrix.c*****
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
void generate_matrix(double matrix[nx][ny],long *iseed){
long i,j ;
for (i=0;i<nx;i++){
for (j=0;j<ny;j++){
double rand=ran2(&iseed) ;
matrix[i][j]=(rand<0.5) ? (matrix[i][j]=-1.) : (matrix[i][j]=1.) ;
printf("matrix[%d][%d]=%f\n",i,j,matrix[i][j]) ;
}
}
printf("I m going out of generate matrix\n") ;
} |
//puis quand j appelle dans ma fonction main, je fais :
*******fichier main.c *****************
Code:
1 2
|
generate_matrix(matrix,&iseed) ; |
**************************************
Il me retourne :
Citation:
matrix.c:28: warning: passing argument 1 of 'ran2' from incompatible pointer type
(j ai essayé un peu toutes les combinaisons de *,&,rien imaginables, et ben ça marche toujours pas).
Que dois je faire?
Merci d avance pour vos réponse.
Olivier