Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > typedef шаблона


Автор: Fedor 12.12.2005, 23:38
Как сделать сабж? Нужно чтоб MyMatrix был полным синонимом

Пробывал так:
Код

template <typename T,long Width,long Height>
typedef CMatrix<T,Width,Height> MyMatrix<T,Width,Height>;

и еще много как пробывал

Так в МСДН вроде написано, но у меня не работает.

З.Ы. Вообще, можно ли сделать тайпдеф шаблона?

Автор: bel_nikita 12.12.2005, 23:42
Я твой код вообще не понял.

Автор: Void 12.12.2005, 23:44
Fedor
Низ-зя smile template typedef's обещают в C++09, а пока довольствуемся этим:

Код

template <typename T>
struct A {
    typedef B<T> type;
};

// somewhere in code
typename /* sic! */ A<T>::type my_variable;

Автор: Fedor 12.12.2005, 23:49
Void
Ага. И еще раз спасибо smile

Автор: bel_nikita 12.12.2005, 23:52
Так правильнее будет:
Код
template <typename T,long Width,long Height>
typedef CMatrix<T,Width,Height> MyMatrix;

Автор: Daevaorn 12.12.2005, 23:59
Цитата(bel_nikita @ 12.12.2005, 23:52)
Так правильнее будет:
Код
template <typename T,long Width,long Height>
typedef CMatrix<T,Width,Height> MyMatrix;

Но так всё равно не правильно;)

Автор: Fedor 13.12.2005, 00:04
Цитата(Daevaorn @ 12.12.2005, 23:59)
Но так всё равно не правильно

Ага. Еррор C2823 в MSVC

Автор: bel_nikita 13.12.2005, 00:15
Цитата(Daevaorn @ 12.12.2005, 22:59)
Но так всё равно не правильно;)

О будущем нельзя уже помечтать smile
Добавлено @ 00:20
Fedor
А для чего вообще понадобилось? Может накрыть дефайном класс?

Автор: Mayk 13.12.2005, 07:31
Цитата(bel_nikita @ 13.12.2005, 04:15)
Может накрыть дефайном класс?

НЕ НАДО

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)