минимальный элемент в TypeList
От: Аноним  
Дата: 01.08.03 14:15
Оценка:
Такая вот программка:


template<typename TypeListT>
struct Min;

template<typename T, typename U>
struct Min<TypeList<T,U> >
{
private:
    static const unsigned int tmp=Max<U>::ret;
public:
    static const unsigned int ret=sizeof(T)<tmp?sizeof(T):tmp;

};

template<typename T>
struct Min<TypeList<T,NullType> >
{
    static const unsigned int ret=sizeof(T);
};


проблема такая

вот это:
TL::Min<TL::MakeTypeList<char,int,char[300],int,char,int[10]>::ret>::ret
выдаёт нормальное значение, т.б. 1
а если добавит в начало один int, так:
TL::Min<TL::MakeTypeList<int,char,int,char[300],int,char,int[10]>::ret>::ret
то почему-то получается 4.

Что не так?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.