Bonjour je me suis fait un petit programme qui initialise un tableau bidimentionnel à une certaine valeur dans une fonction.
voici le code:
Ce programme peut sembler bète car pourquoi initialiser le tableau à une valeur dans une fonction et pas dans le main, mais ce n'est qu'un exemple, ce que je souhaite c'est envoyer mon tableau dans une fonction pour effectuer des calculs dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 #include <stdio.h> #include <stdlib.h> #include <string.h> void test(float tab[][3],int a, int n) { int i,j; for(i=0;i<n;i++) { for(j=0;j<3;j++) { tab[i][j]=a; printf("tab[%d][%d]=%f\n",i,j,tab[i][j]); } } } main() { int i, j, n, a; n=6; a=8; /*déclaration dynamique tableau multidimentionnel*/ float **tab; /* Allocation de la 1er dimension */ tab=(float **)malloc(n*sizeof(float *)); /* Allocation des tableaux */ for (i=0; i<n; i++) { tab[i]=(float *)malloc(3*sizeof(float)); } test(tab, a, n); system("PAUSE"); return 0; }
Le seul problème est que lorsque je compile il me met l'erreur suivante:
cannot convert `float**' to `float (*)[3]' for argument `1' to `void test(float (*)[3], int, int)' et me souligne la ligne que j'ai placé en gras.
Je ne sais vraiement pas comment y remédier.
Merci de m'aider.
Partager