Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa template template parametrima

[es] :: C/C++ programiranje :: Problem sa template template parametrima

[ Pregleda: 2679 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

yaelo
Rajko Vojnović
Beograd

Član broj: 78087
Poruke: 153
213.244.209.*



+9 Profil

icon Problem sa template template parametrima08.03.2007. u 21:19 - pre 179 meseci
Zna li neko zasto ovaj kod ne radi u MSVC++ 2005 a radi bez problema u Bloodshed DevC++.

Code:

#include <deque>
using namespace std;

template <class T, template <class ELEM> class CONT = std::deque> 
class KLASA { 
    public: 
        CONT<T> elems;       
}; 

int main () {   
    KLASA <int> objekat; 
    return 0;
}  

Prijavljuje
Error 1 error C3201: the template parameter list for class template 'std::deque' does not match the template parameter list for template parameter 'CONT'

U DevC++ radi bez greske sa bilo kakvim template-om ili std template-ovima.


[Ovu poruku je menjao X Files dana 10.03.2007. u 09:58 GMT+1]
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1339
218.1.28.*

ICQ: 14293955
Sajt: https://github.com/milost..


+46 Profil

icon Re: Problem sa template template parametrima09.03.2007. u 05:21 - pre 179 meseci
Deklaracija std::deque se razlikuje od tvoje deklaracije klase CONT, fali ti alokator da bi se poklapale.

Code:
template <class T, template <typename ELEM, typename alloc = std::allocator<ELEM> > class CONT = std::deque >
class KLASA {
    public:
        typename CONT<T> elems;
        KLASA(); // dodato, neophodno!
};

 
Odgovor na temu

yaelo
Rajko Vojnović
Beograd

Član broj: 78087
Poruke: 153
213.244.208.*



+9 Profil

icon Re: Problem sa template template parametrima09.03.2007. u 22:18 - pre 179 meseci
Radi. Hvala.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Problem sa template template parametrima

[ Pregleda: 2679 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.