クラス A とクラス B を作成しました。タイプ B のベクトルを A に設定し、タイプ A のベクトルを B に設定しようとしています。
クラス A ヘッダー:
#ifndef A_H_
#define A_H_
#include "B.h"
#include <vector>
using namespace std;
class A {
public:
vector<B> bvector; // here is the error
A();
};
#endif /* A_H_ */
クラス B ヘッダー:
#ifndef B_H_
#define B_H_
#include "A.h"
#include <vector>
using namespace std;
class B {
vector<A> aVector; //Here is the error
public:
B();
};
#endif /* B_H_ */
しかし、次のエラーが発生します。
"..\src/Bh:16:8: エラー: 'A' はこのスコープで宣言されていません
..\src/Bh:16:9: エラー: テンプレート引数 1 が無効です
..\src/Bh:16:9: エラー: テンプレート引数 2 が無効です"
B の悪い行を削除すると、どちらが反転しA.h
ますか。何が間違っていますか?