Sono un po 'confuso sulle regole delle dichiarazioni e delle definizioni.Dichiarazione e definizione diverse in C++
Ho la seguente dichiarazione funcs.h:
void sumTotalEnrgyAndClush(Protein &A,Protein &B,double ans[2],double enrgyA[18][18],double enrgyB[18][18]);
noti che ans [2] è prima enrgyA e B.
Nel funcs.cpp il file la definizione inizia così:
void sumTotalEnrgyAndClush(Protein &A,Protein &B,double enrgyA[18][18],double enrgyB[18][18],double ans[2])
Compila (tramite makefile) e funziona correttamente.
Ho anche notato che se rimuovo la dichiarazione il compilatore sembra gestirlo bene.
Perché il cambiamento nell'ordine degli argomenti non è importante? È che gli ultimi 3 articoli sono tutti puntatori quindi la differenza nell'ordine non ha importanza?
possibile duplicato di [Qual è la differenza tra una definizione e una dichiarazione?] (Http://stackoverflow.com/questions/1410563/what-is-the-difference-between-a-definition-and-a- dichiarazione) – sbi
Non un duplicato; in realtà una domanda interessante. –
Il cambiamento nell'ordine * ha * importanza. EDIT: James McNellis ha detto meglio nella sua risposta. –