以下のコードを参照してください:
obj1.h
class OBJ1 : public A_OBJ
{
public:
//virtual pure from A_OBJ
virtual void m_method();
int getterX();
private:
int x;
}
obj2.h
class OBJ2 : public A_OBJ
{
public:
//virtual pure from A_OBJ
virtual void m_method();
void iWantX();
}
obj1.cpp
#include "obj1.h"
OBJ1 obj1;
OBJ1::m_method()
{
//do_something()
}
OBJ1::getterX()
{
return x;
}
obj2.cpp
#include "obj2.h"
OBJ2 obj2;
OBJ2::m_method()
{
//do_something()
}
OBJ2::iWantX()
{
int z = OBJ1::getterX();
}
その単純なコード(g++ obj1.cpp obj2.cpp _main_
)をコンパイルしようとすると、迷惑なエラーが発生し続けます:
obj2.cpp: error: 'OBJ1' has not been declared
私はすでに宣言しようとしOBJ1 obj1
ました、obj2.cpp
そして他のもの、何もうまくいきませんでした...
これを修正する方法を知っていますか?ありがとう !