C++函数作用域
C++ function scopes
我有一个函数"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();
}
相关文章:
- C++quit()函数中可能存在作用域问题
- 全局作用域中函数指针的赋值
- 在类函数中初始化外部作用域变量
- 是同一作用域的函数部分中的函数调用
- 未在此作用域中声明的函数和变量 (C++)
- 在构造函数中输入对象时C++类成员作用域
- 函数未在作用域中声明 / 如何结合使用 header.h、header.cpp 和 main.cpp?
- "变量":函数中函数作用域不允许初始化的自动或寄存器变量'naked'
- 如何从类函数返回指向类作用域数组的指针?
- 局部变量的作用域是块或函数
- 当变量在多个函数作用域中使用时,我应该在类 private 中声明该变量吗?
- 缩短成员函数作用域说明符(嵌套类)(C++)
- 块作用域中的函数指针定义
- 当作用域中出现条件时,如何重置函数中的变量?
- 函数在作用域中定义,但编译器抱怨它超出了作用域
- 在编译时选择全局作用域函数
- 函数和类的作用域有什么区别
- 空的唯一指针在离开作用域时调用析构函数
- 作用域仅限于函数的类变量
- 函数作用域是静态变量还是线程本地变量在C++11中的第一个条目中初始化