2つの非テンプレートクラスA
,B
にはいくつかの静的テンプレートメソッドがあります。 B
内のクラスA
静的メソッドからエラー:ネストされた名前指定子に不完全な型が使用されました
が呼び出され、A
からクラスからB
静的メソッドが呼び出されます。説明のみ(ない実際のコード)のソースコード...
A.h
#include "B.h"
class A
{
public:
template <class T>
void f1()
{
T var1= ...;
T var2 = B::f4(T);
}
template <class T>
T f2()
{
return ...
}
};
#include "A.h"
class B
{
public:
template <class T>
void f3()
{
T var1= ...;
T var2 = A::f2(T); //Error
}
template <class T>
T f4()
{
return ...
}
};
私はNetBeansでG ++コンパイラとのトラブルを抱えています。コンパイル時に、次のエラーが発生します。エラー:入れ子になった名前指定子g ++で使用されている不完全な型A。
両方のクラスに前方宣言を追加しようとしましたが、何も成功しませんでした。
http://gcc.gnu.org/ml/gcc-bugs/2005-02/msg01383.html
解決策は...? –
downvotingする人は、彼らが反対するものを述べる必要があります。 OPの質問に対する正解ですから。 OPは、循環ヘッダーの依存関係を解決する方法を説明するよう求めなかったが、これらの問題はすべての本で説明されている。 –
http://stackoverflow.com/help/how-to-answer – peetonn