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をそのまま使用することはできない

};