увлекательные темплейты
От: Аноним  
Дата: 14.12.08 14:33
Оценка:
Здраствуйте колеги!
Подскажите как побороть проблему! Пожалуйста

есть шаблонная структура:

template <typename T>
struct SES_VAR 
{
private:
    T*       ptr;
    bool   bAlloc;
    string name;
public:
    void    set(T*& val,const bool a = true)
    {
        if (a)
        {
            ptr        = new T();
            bAlloc  = a;
            val     = ptr;
        }
        else
        {
            ptr = val;
        }
    }
    SES_VAR()
    {
        ptr        = NULL;
        bAlloc  = false;
    }
    ~SES_VAR()
    {
        if (ptr != NULL)
        {
            if (bAlloc)
            {
                delete ptr;
                ptr = NULL;
            }
        }
    }
};


Как создать вектор указателей на эти структуры, но чтобы при очистке не делать самому приведение к типу:

void main()
{
    SES_VAR<int> a;
    int* pA;
    a.set(pA);
    
    vector <void*> arr;
    arr.push_back(&a);    

    for (size_t i =0; i < arr.size(); ++i)
    {
        void* ptr = arr.at(i);
        // но сдесь я не знаю тип....
        delete (SES_VAR<int>*)ptr;
    }
}


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