Soy un poco confuso sobre las reglas de las declaraciones frente a las definiciones.Diferente declaración y definición en C++
tengo la siguiente declaración en funcs.h:
void sumTotalEnrgyAndClush(Protein &A,Protein &B,double ans[2],double enrgyA[18][18],double enrgyB[18][18]);
en cuenta que la American National Standard [2] antes enrgyA y B.
En el archivo de la definición funcs.cpp comienza así:
void sumTotalEnrgyAndClush(Protein &A,Protein &B,double enrgyA[18][18],double enrgyB[18][18],double ans[2])
Compila (a través de makefile) y funciona bien.
También noté que si eliminé la declaración, el compilador parece funcionar bien.
¿Por qué no importa el cambio en el orden de los argumentos? ¿Es que los últimos 3 elementos son punteros, por lo que la diferencia en el orden no importa?
posible duplicado de [¿Cuál es la diferencia entre una definición y una declaración?] (Http://stackoverflow.com/questions/1410563/what-is-the-difference-between-a-definition-and-a- declaración) – sbi
No es un duplicado; en realidad una pregunta interesante. –
El cambio en el orden * no importa. EDITAR: James McNellis lo dijo mejor en su respuesta. –