不是的。声明必须在主函数之前,但实现不必一定要在主函数前。比如//声明一个模板函数template T sum(T&, T&);//主函数int main(){ //调用模板函数 int result = sum(1,1); printf("%d", result);}//实现模板函数template T sum(T& val1, T& val2){ return val1 + val2;}
也可以先声明函数,然后函数体写在主函数之后
不一定,它是要求声明必须在主函数前,而定义都包含了声明,明白了吗