Я хотел сделать
typedef deque type; //error, use of class template requires template argument list type<int> container_;
Но эта ошибка мешает мне. Как мне это сделать?
Вы не можете (до C ++ 0x). Но это можно эмулировать с помощью:
template<typename T> struct ContainerOf { typedef std::deque<T> type; };
используется как:
ContainerOf<int>::type container_;
deque не является типом. Это шаблон, используемый для генерации типа при наличии аргумента.
deque<int>
это тип, так что вы можете сделать
typedef deque<int> container_
Нет, C ++ еще не поддерживает этот тип typedef. Можно конечно сказать:
typedef std::deque <int> IntDeque;
Вы столкнулись с ошибкой, потому что не указали int в deque.
Но учтите, что: Шаблон typedef является принятой функцией C ++ 0x. Попробуй с последним g ++
Как вы могли бы сделать это:
#define type deque
Но это имеет несколько недостатков.