gpt4 book ai didi

C++ 函数在函数中声明

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:55:11 24 4
gpt4 key购买 nike

为什么会这样编译?

int main() {
void f();
}

什么是f?它是函数还是变量,我该如何使用它?

最佳答案

你有一个函数声明。在 block 范围内声明函数是可以的。在 block 中定义函数是不可能的。只在本地声明一个函数是完全没问题的,例如当您想引用其他一些现有功能时:

int main()
{
int foo();
return foo();
}

您只需将其与定义 int foo(); 的翻译单元链接即可。

(这样做可能不是很好的实践,因为它隐藏了代码对其他函数的依赖性,如果不仔细阅读代码几乎不可能看到。)

请注意,局部声明隐藏 函数的其他重载,因此参数查找可能不同于您在全局范围内声明该函数。请参阅@David Rodríguez 的更详细的答案。

关于C++ 函数在函数中声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19057866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com