【发布时间】:2019-01-20 06:32:41
【问题描述】:
我查看了以下问题以检查是否可以在函数中定义函数。
Can we have functions inside functions?
接受的答案是“否”。我试了一下,结果是一样的。
但是当我尝试编译下面的代码(仅声明)时,它确实编译了。 我不太确定为什么允许这样做。
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int a, *b, f(int c); //trying out multiple name declaration
int f(int c);
}
【问题讨论】:
-
底线 - 它是允许的,因为 C++ 标准说它是。此外,在现代 C++ 中,您可以在其他函数中以 lambda 的形式定义函数。
-
@NeilButterworth,是的,我同意,但必须有某种应用程序。我只是想知道。
-
@pasha 不,给定的语法怪癖不一定有任何用处。这可能只是无害的废话。
-
这是一个前向声明。
-
@dan 前向声明 什么?我从来没有听过人们对函数说前向声明。
标签: c++ function function-declaration function-definition