Есть 2 нешаблонных класса A
, B
, имеющих несколько статических шаблонных методов.
Из класса A
вызывается статический метод в B
, а из класса B
вызывается статический метод из A
. Исходный код только для иллюстрации (не настоящий код) ...
А
#include "B.h"
class A
{
public:
template
void f1 ()
{
T var1= ...;
T var2 = B::f4(T);
}
template
T f2()
{
return ...
}
};
#include "A.h"
class B
{
public:
template
void f3 ()
{
T var1= ...;
T var2 = A::f2(T); //Error
}
template
T f4()
{
return ...
}
};
У меня проблемы с компилятором g ++ в NetBeans. Во время компиляции возникает следующая ошибка: Ошибка: неполный тип A используется во вложенном описателе имени, g ++.
Я попытался добавить форвардные объявления в оба класса, но ничего не получилось.
Есть более старая ошибка: