0

問題は、クラス A がクラス B に依存していることと、その逆であることです。コンパイラは不明な型について文句を言います。通常の解決策は、クラスを前方宣言することです。しかし、テンプレート クラスを宣言する方法は?

4

1 に答える 1

0

解決策を見つけるのに時間がかかったので、ここに「テンプレート」を投稿することで、他の人の生活を楽にできると思いました.

// Header A.h
template<class z, class w = float>
class B;

template<class x, class y = double>
class A
{
    B mb;
}


// Header B.h
template<class x, class y = double>
class A;

template<class z, class w = float>
class B
{
    A mA;
}

さらに、テンプレート宣言でオプションのパラメーターを変更できます。

于 2012-10-15T13:11:20.703 に答える