Вобщем дело было так...
От: Yess  
Дата: 22.01.04 09:26
Оценка: 1 (1)
ПК>Возможно, более полное описание исходной задачи (т.е. зачем все это нужно) могло
ПК>бы способствовать более толковым ответам.

Пытаюсь сделать массив, хранящий разные типы данных. Пока есть вот что(наброски)


class ItemBase { };

template<class Type> class Item : public ItemBase {
public:
    Item(const Type& a) { }
    ~Item() { }
};

template<int Size> struct Array {
    ItemBase* p[Size];
    ~Array() { }
};

template<class Type> ItemBase* _(const Type& o) {
    return new Item<Type>(o);
}


int main()
{

    Array<4> arr = 
    {
        _(10), 
        _("drghd"),
        _(true),
        _(1.34f),
    };
}


На данный момент необходимо сделать корректное удаление элементов. Так как массив может быть инициализирован не полностью нужно либо обнулять весь массив при создании, либо считать кол-во элементов. А тут еще бага в VC6...


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