C++ 前方宣言
参考URL↓
http://fonlake.blogspot.jp/2009/05/c.html
// case1: OK
class A; // 前方宣言
class B{
A *a;//ポインタ
};
// case2: OK
class A;
class B{
std::vector<A> a;//動的配列
};
// case3: OK
class A;
template<class T=A>
class B{
T a;//テンプレート
};
// case4: NG
class A;
class B{
A a;//class Aをそのまま使用することはできない
};