Я хочу написать две различные реализации класса Stack.шаблон специализации класса Stack
(1)
template<typename element_type, typename container_type = std::vector<element_type> >
class Stack{//...
};
(2)
template<typename element_type, size_t container_size>
class Stack{
};
Если я определяю обе реализации в одном файле я получаю ошибку компиляции. Возможно ли, чтобы оба они были в одном файле?
//compiler errors:
Stack.hpp:119:46: error: declaration of template ‘template<class element_type, long unsigned int container_size> int containers::Stack()’
Stack.hpp:25:9: error: conflicts with previous declaration ‘template<class element_type, class container_type> class containers::Stack’
Stack.hpp:25:9: error: previous non-function declaration ‘template<class element_type, class container_type> class containers::Stack’
Stack.hpp:119:46: error: conflicts with function declaration ‘template<class element_type, long unsigned int container_size> int containers::Stack()’
Что, молиться, это ошибка компилятора? – zdan
Какая ошибка? какой компилятор? Plese дает более подробную информацию. –