ПК>Возможно, более полное описание исходной задачи (т.е. зачем все это нужно) могло
ПК>бы способствовать более толковым ответам.
Пытаюсь сделать массив, хранящий разные типы данных. Пока есть вот что(наброски)
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. Шаблон может быть агрегатом ?