C ++函数原型?

时间:2011-05-13 00:15:27

标签: c++

这里有5号新手问题,但我没有老师..所以..无论如何我们走了:

我想知道是否有必要在文件的顶部放置函数原型,而不是将main函数放在文件的末尾,并在文件的顶部创建所有函数。据我所知,VC ++和G ++都没有抱怨。是否有标准禁止我这样做?

在更改函数参数和返回类型时,必须更改原型似乎很烦人。

示例:

#include <iostream>

void say_hi(){
    std::cout << "hi" << std::endl;
}

int main(){
    say_hi();
    return 0;
}

3 个答案:

答案 0 :(得分:4)

这声明但未定义函数say_hi

void say_hi();

这两者都声明并定义了函数say_hi

void say_hi(){
    std::cout << "hi" << std::endl;
}

您可以多次声明一个函数;你只能定义一次。

必须在文件中声明一个函数,然后才能调用它。函数必须在某处中定义 - 在调用它之前或之后的同一文件中,或者甚至可能在不同的文件中。

所以,是的,这完全没问题。

答案 1 :(得分:2)

你是对的;如果您将所有函数定义在它们被调用的位置之上,则不需要函数原型。实际函数定义与单独的声明具有相同的用途。

答案 2 :(得分:1)

当你有微小的功能时,这是有效的。当它们变长时它的效果不太好。或者当您有多个代码文件时。作为一种风格问题,许多教师要求即使是微小的应用程序也应该以适合大型应用程序的结构编写。