Szablon jako parametr szablonu
Ostatnio zmodyfikowano 2017-05-01 20:11
croppp Temat założony przez niniejszego użytkownika |
Szablon jako parametr szablonu » 2017-05-01 18:44:29 Mam problem z kompilacją poniższego kodu: #include<iostream> #include<vector> #include<deque> #include<list> using namespace std;
template < typename T, template < typename X > class Sequence = std::deque > class Stack { Sequence < T > _rep; public: void push( T e ) { _rep.push_back( e ); }; T pop() { T top = _rep.top(); _rep.pop_back(); return top; } bool is_empty() const { return _rep.empty(); } };
main() { Stack < double, std::vector > sv; }
Błąd jaki dostaje: "error: type/value mismatch at argument 2 in template parameter list for 'template<class T, template<class X> class Sequence> class Stack'|" Gdzie dokładnie tkwi błąd? |
|
Monika90 |
» 2017-05-01 19:08:19 vector i deque przyjmują dwa parametry, ten drugi parametr to alokator.
A jak się deklaruje funkcję to należy podać typ zwracany, w przypadki main jest to int. |
|
croppp Temat założony przez niniejszego użytkownika |
» 2017-05-01 19:13:05 Ale czy rzeczywiście podawanie alokatora jest tutaj potrzebne? Normanie przyjmuje chyba wartość domyślną?
Program znalazłem tutaj: http://wazniak.mimuw.edu.pl/index.php?title=Zaawansowane_CPP/Wyk%C5%82ad_1:_Szablony_I
w rozdziale "Szablony parametrów szablonu"
Oryginalny kod:
http://wazniak.mimuw.edu.pl/images/3/31/Stack_adapter.cpp |
|
Monika90 |
» 2017-05-01 19:52:33 |
|
croppp Temat założony przez niniejszego użytkownika |
» 2017-05-01 20:11:56 Ok, dzięki za pomoc <3 |
|
« 1 » |