我很模糊在声明和定义规则方面的区别。
我在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])
它(通过makefile)编译并正常工作。
我还注意到,如果我删除声明,编译器似乎也能处理得很好。
为什么参数的顺序变化不重要?是因为最后3个项目都是指针,所以顺序的差异无关紧要吗?