Неясно, чего вы пытаетесь достичь. Возможно, вы неправильно поняли назначение шаблонов.
Может быть, вы хотите что-то вроде этого:
#include <forward_list>
#include <algorithm>
int main()
{
forward_list<singleTemplate<int, int, double>> mylist;
singleTemplate<int, int, double> t;
mylist.push_front(t);
}
Но для этого для компиляции вам нужно, по крайней мере, реализовать конструктор по умолчанию, подобный этому:
template < class T1, class T2, class T3 >
class singleTemplate
{
public:
singleTemplate() {}; // <<< modify here
singleTemplate(T1 v1, T2 v2, T3 v3);
void setVal(T1 v1, T2 v2, T3 v3);
void show();
private:
T1 val1;
T2 val2;
T3 val3;
};
Если вы хотите использовать другой конструктор и методы setVal
и show
, вам также необходимо реализовать их.