我不确定术语,所以我不知道如何表达我的标题;如果有人想用正确的术语编辑它,那很好。
当我编写代码时,我总是这样做,我猜是按时间顺序排列的。我把我的主要放在底部,然后向上工作。但是,我最近阅读了一个教程,该教程做了我以前从未见过的事情。
在顶部,在包含之后,程序员写道:
void inccell(int pos, int width, unsigned char *board);
void deccell(int pos, int width, unsigned char *board);
我以前没见过这个;我总是这样做void myfunction (args) { stuff }
。在这种情况下,我还没有看到它带有;
. 在此之后,在程序的更下方,他定义了函数的内容:
void inccell(int pos, int width, unsigned char *board)
{
++board[(pos-width)-1];
++board[ pos-width ];
++board[ pos-width +1];
++board[ pos-1 ];
++board[ pos+1 ];
++board[(pos+width)-1];
++board[ pos+width ];
++board[ pos+width+1 ];
return;
}
void deccell(int pos, int width, unsigned char *board)
{
--board[(pos-width)-1];
--board[ pos-width ];
--board[ pos-width +1];
--board[ pos-1 ];
--board[ pos+1 ];
--board[(pos+width)-1];
--board[ pos+width ];
--board[ pos+width+1 ];
return;
}
;
和的函数的参数{ }
是相同的,据我所知,它不是“重载”;我相信使用了重载,因此可以调用具有不同参数集的函数,即myfunc(myint, mystr, mybool)
两者myfunc(myint, mystr)
都可以有效。
我在那个陈述中可能是错的。
但是,有人可以向我解释为什么他在顶部声明函数,如果他没有重载,它的目的是什么?
谢谢。