[ yaelo @ 08.03.2007. 21:19 ] @
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]
[ tosa @ 09.03.2007. 05:21 ] @
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!
};

[ yaelo @ 09.03.2007. 22:18 ] @
Radi. Hvala.