C ++函数范围

时间:2012-04-03 08:57:46

标签: c++ scope

我有一个函数“void foo()”,在foo里面我调用了函数“void bar()” 但我不断收到错误“在函数中'void foo()'错误:函数'bar'未在此范围内声明”。

我做了一些研究,似乎找不到任何有用的东西。 有谁知道这个问题?我敢肯定它可能很简单但找不到答案。

2 个答案:

答案 0 :(得分:2)

您在使用之前尚未声明该功能。

尝试类似:

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

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

答案 1 :(得分:1)

如果它在同一个文件中:

void bar()
{
}

void foo()
{
bar();
}

如果它在不同的文件中:

#include<bar.h>  //header in which bar() is declared 

void foo()
{
bar();
}