warning: passing argument " de incompatible pointer type [activé par défaut]'

J'ai été en regardant autour sur les autres threads en quelque sorte lié à cela, mais de toute façon je n'ai tout simplement pas l'obtenir...

Je voudrais faire quelques FFT sur un ensemble de valeurs que j'ai évalué et écrit ce programme de lire d'abord les valeurs et les enregistrer dans un tableau de taille n.

int main () {
    //some variables and also a bit of code to read the 'messwerte.txt'

printf("Geben sie an wieviele Messwerte ausgelesen werden sollen: ");
scanf("%d", &n);
double werte[n]; //Array der "fertigen" Messwerte
in = fopen ("messwerte.txt","r");
double nul[n]; //Array von nullen

int logN = 14;
l=FFT(logN,&werte,&nul);
}

Dans le même fichier, je fais aussi la FFT, avec l'aide de ce programme:

double FFT (int logN, double *real, double *im) //logN is base 2 log(N) {
//blabla FFT calculation
}

Cependant, quand je compile j'obtiens toujours cette erreur:

gcc FFT.c -lm
FFT.c: In function ‘main’:
FFT.c:94:2: warning: passing argument 2 of ‘FFT’ from incompatible pointer type [enabled by default]
FFT.c:4:8: note: expected ‘double *’ but argument is of type ‘double (*)[(unsigned int)(n)]’
FFT.c:94:2: warning: passing argument 3 of ‘FFT’ from incompatible pointer type [enabled by default]
FFT.c:4:8: note: expected ‘double *’ but argument is of type ‘double (*)[(unsigned int)(n)]’

Car c'est ma première fois de la programmation, je ne sais vraiment pas quel est le problème avec mon code. Vais-je avoir à régler plus de drapeaux pour le compilateur ou des trucs comme ça (parce que j'ai eu à faire ce -lm des trucs ou il ne se compile pas et dit quelque chose comme pow pas trouvé)?

Aussi j'étais conscient qu'il pourrait y avoir une différence lors de l'écriture sur un Windows ou un Linux de la machine, et je suis en utilisant Linux, Lubuntu 12.10 32 bits si c'est un problème de l'OS.

OriginalL'auteur mitit100 | 2012-12-28