Я не уверен, как это сформулировать, но в основном я пытаюсь создать класс шаблона, который принимает в качестве параметра шаблона один или два типа, которые затем используются для определения указателей на другой класс, который также является шаблоном.Я попытаюсь продемонстрировать, что я хочу сделать, в коде ниже.
template <typename A> class Alpha{
public:
A first;
};
template <typename B> class Beta{
public:
B second;
};
template <typename C,typename D> class Group{
public:
//I am pretty sure this is not how you do a constructor for a template.
Group(Alpha<C>* a,Beta<D>* b){
one = a;
two = b;
}
Alpha<C> * one;
Beta<D> * two;
};
Alpha<int> a;
Beta<char> b;
Group<int,char> g(&a,&b);
Это, однако, не работает.Я уверен, что это происходит из-за моего непонимания тонкостей шаблонов с ++.Любой ввод будет очень полезнымотсутствует ключевой фрагмент кода в реальной реализации класса Alpha.
EDIT2: я нашел истинный корень своей проблемы
Казалось бы, я упустил фактчто разделение классов Template на обычные комбинации файлов .h / .cpp ведет себя не так, как с обычными классами.