Я ищу какой-то код, чтобы он работал
template <typename T, int a, int b>
class first
{ //not so important
};
main()
{
first<double,1,2> sth;
second<double> sth2;
}
Sth2 - это тот же тип, что и sth, но имеет параметры по умолчанию (например). Я знаю, что мне нужен некоторый typedef. Я пытался
template <typename T>
struct help
{
typedef first<T,1,1> second;
};
но он работает только с дополнительными :: (help <double> :: second), и я просто хочу изменить его для второго <double>
Спасибо за любые идеи :)
Вы должны просто определить
template <typename T, int a=1, int b=2> class first
а потом
first<double> sth2;
Но если вам действительно нужны два класса
template <typename T> class second : public first<T,1,1>
Должен достать тебя куда-нибудь.
first
ctors за second
.
Как насчет использования параметров по умолчанию? В противном случае igor может быть прав с С++ 11
template <typename T> using second = first<T, 1, 1>;