Я немного запутался в правилах деклараций и определений.
У меня есть следующее объявление в funcs.h:
void sumTotalEnrgyAndClush(Protein &A,Protein &B,double ans[2],double enrgyA[18][18],double enrgyB[18][18]);
Обратите внимание, что ans [2] предшествует enrgyA и B.
В файле funcs.cpp определение начинается следующим образом:
void sumTotalEnrgyAndClush(Protein &A,Protein &B,double enrgyA[18][18],double enrgyB[18][18],double ans[2])
Он компилируется (через make-файл) и работает нормально.
Я также заметил, что если я удаляю объявление, компилятор, кажется, справляется очень хорошо.
Почему изменение порядка аргументов не имеет значения? Неужели последние 3 элемента являются указателями, поэтому разница в порядке не имеет значения?