【发布时间】:2022-01-10 01:53:04
【问题描述】:
我正在看一本旧书,其中包含函数原型。例如:
#include<iostream>
using std::cout;
int main()
{
int square(int); //function prototype
for(int x = 0; x<=10; x++)
{
cout<<square(x)<<"";
}
int square(int y)
{
return y * y;
}
return 0;
}
但是,在较新的 C++ 教程中,我没有看到任何提到的函数原型。它们是 C++98 之后的 pbsolete 吗? 使用它们的社区准则是什么?
示例:https://www.w3schools.com/cpp/trycpp.asp?filename=demo_functions_multiple
【问题讨论】:
-
如果你删除了
int square(int);,你会得到一个编译器错误。因为在cout<<square(x)<<"";@ 不知道 square -
C++ 允许您在函数中的函数中定义函数。这真的是现在的事情吗?
-
在链接的示例项目中,将
void myFunction() {的实现移动到int main()之后,看看会发生什么。 -
C++ 命名法往往是“函数声明”,而不是“原型”。它们仍在使用。
-
@Someprogrammerdude - 大约每月一次,我看到有人发布一些 C++ 代码,这让我怀疑我是否真的了解这种编程语言。 :)
标签: c++ forward-declaration function-definition function-declaration function-prototypes