Я пытаюсь переслать объявление шаблонного класса A<T>
для использования в классе Visitor
. Для моих целей было бы достаточно объявить int
экземпляр A<int>
класса A
. Я пробовал два подхода, но оба дают разные ошибки, и я не знаю, как действовать.
Вот MWE моей ошибки:
namespace visitor{
class Visitor{
public:
virtual void visit(nsp::A<int>*) = 0;
};
}
namespace nsp{
template <class T>
class A{
A();
T t_attribute;
void accept(visitor::Visitor*);
};
void A<int>::accept(visitor::Visitor*){
v -> visit(this);
}
}
int main(){
return 0;
}
Вы можете попробовать запустить код здесь , чтобы увидеть полученную ошибку:
error: specializing member 'nsp::A<int>::accept' requires 'template<>' syntax
Я ценю любую помощь.