我有一个班级foo1
,在 foo1.h 我有
class foo1
{
public:
int var;
foo1();
};
还有另一个名为 的类foo2
,其中我有一个基于的对象foo1
:
class foo2
{
public:
foo1 *afoo1;
foo2();
void func1(int,int);
};
我的问题是我如何才能访问afoo1->var
. 如果我afoo1->var
在 foo2.cpp 中使用,一切看起来都很好,并且编译时没有错误。但是当我在命令提示符窗口中运行它时,会弹出一个窗口并要求关闭程序。我想这是因为我违反了内存访问,其原因可能是afoo1->var
.
谁能帮我这个?
谢谢
额外说明
我从 foo2 制作了一个 dll 文件,并在另一个程序中使用它,我无权访问它的源代码。只是为了让事情更清楚一点。
回答
我犯了两个错误。第一个是我指的是 Null。afoo1 = new foo1();
在构造函数中foo2
处理了这一点。
第二个是我没有包含foo1.cpp
在我的makefile中。我知道,愚蠢的错误。