と呼ばれるクラスが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ファイルを作成し、そのソースコードにアクセスできない別のプログラムで使用します。物事をもう少し明確にするためだけに。
答え
私は2つの間違いを犯しました。1つ目は、Nullを参照していたことです。afoo1 = new foo1();
のコンストラクターでfoo2
それを処理しました。
foo1.cpp
2つ目は、makefileに含めていなかったことです。私は知っている、愚かな間違い。