C++函数作用域

C++ function scopes

本文关键字:作用域 函数 C++      更新时间:2023-10-16

我有一个函数"void foo()",在foo内部我调用函数"void bar()"但我一直得到错误"在函数'void foo()'错误:函数'bar'没有在这个范围内声明"。

我做了一些研究,似乎找不到任何有帮助的东西。有人知道这个问题吗?我相信这可能很简单,但找不到答案。

在使用该函数之前,您尚未声明该函数。

试试类似的东西:

void bar(); //declaration
void foo()
{
   bar();
}

或者,如果bar()是在另一个标头中声明的,则可以包含该标头。或者,您可以在foo()之前定义bar()(当然,除非bar()使用foo())。

如果它在同一文件中:

void bar()
{
}
void foo()
{
bar();
}

如果它在不同的文件中:

#include<bar.h>  //header in which bar() is declared 
void foo()
{
bar();
}