Здравствуйте, shnyaps, Вы писали:
S>Здравствуйте, aveSatanas, Вы писали:
S>>Доброе время суток.
S>>Пример: S>>SomeClass * pClass = new SomeClass(); S>>LPVOID lpVoid = pClass; S>>delete lpVoid;
S>>В этом случае деструктор класса не вызывается (деструктор виртуальный). S>>Как можно сделать чтобы при удалении LPVOID вызывался деструктор класса?
S>а такой вариант подходит:
S>template<typename T> S>void release(T* obj) { S> delete obj; S>}
S>class SomeClass { S> int a; S>public: S> SomeClass() {}; S> ~SomeClass() {}; S>};
S>int main(void) S>{ S> SomeClass* pClass = new SomeClass(); S> release(pClass); S> return 0; S>}
Да я думаю подходит. Я использую LPVOID для хранения значения в самописном листе.
Придется сделать типизированный лист на основе шаблонов.