【发布时间】:2018-02-05 10:44:40
【问题描述】:
是否可以编辑尚未在函数中定义的对象?例如,如果我在一个文件中有一个类将数字加一:
class MyClass
{
private:
int i;
public:
MyClass()
{
i = 0;
}
int addOne()
{
i += 1;
return i;
}
};
在另一个文件中,该类被导入。当add 函数被调用时,它会从类中调用addOne 函数:
#include "MyClass.h"
void add()
{
a.addOne();
}
int main()
{
MyClass a;
add();
return 0;
}
当我编译它时它会返回错误
错误:“a”未在此范围内声明
有什么方法可以实现吗?
我阅读但没有帮助解决我的问题的网站:
【问题讨论】:
-
您为什么希望/期望它起作用?
-
您必须将
a传递给add(),例如void add(MyClass &a) { a.addOne(); }并在main()和add(a);中调用它。 -
你明白“在这个范围内声明”是什么意思吗?这是编程的一个非常重要的先决条件
-
你知道
#include是干什么用的吗? -
您是否搜索过您的错误信息并尝试理解它?