Я пытаюсь написать контейнер как
template <typename T, typename A = std::allocator<T> >
class circular_dlist{
....
public:
class iterator{
....
};
void insert(T& val);
};
В.cpp файле, когда я определяю метод insert() как:
template <typename T, typename A = std::allocator<T> >
void circular_dlist<T, A>::insert(T& val){
}
Я получаю следующую ошибку:
error: default template arguments may not be used in function templates without -std=c++11 or -std=gnu++11
Каков правильный синтаксис определения определения внешнего класса в таких случаях, если я не использую С++ 11?
Просто напишите
template <typename T, typename A>
void circular_dlist<T, A>::insert(T& val){
}
.cpp
файле. stackoverflow.com/questions/495021