Compilando
void stats(float [], int, float, float, float);
void stats(float v[], int brasa, float *p1, float *p2, float *p3){
[...]
}
Ho il seguente messaggio:
Prova.c:2: error: conflicting types for 'stats'
Prova.c:1: note: previous declaration of 'stats' was here
Come mai? Eppure i tipi di parametri riportati nella dichiarazione sono gli stessi di quelli della definizione. Lo so che in questo caso non è necessaria la dichiarazione della procedura ma basta solo la definizione, ciò non toglie che quell'errore non dovrebbe apparire! Come si può spiegare ed ovviare a ciò senza eliminare la dichiarazione?