Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
}
Наследую его и делаю возможность передавать reference
template<typename T>
class classListReference : public classListValue<T*>
{
private:
// признак того что являемся ли мы владельцами элементов списка
bool fOwnersObjects;
public:
// Удаляем класс из списка
virtual bool Remove(const T aValue);
public:
classListReference(void){fOwnersObjects = True;};
classListReference(bool aOwnersObjects){fOwnersObjects = aOwnersObjects;};
~classListReference(void);
};
template<typename T>
bool classListReference::Remove(const T aValue)
{
bool tmpResult = classListValue::Remove(aValue);
if (fOwnersObjects)
if (CheckPointer(aValue) != POINTER_INVALID)
if (CheckPointer(aValue) == POINTER_DYNAMIC)
delete aValue;
return(tmpResult);
}
Класс который использует classListReference
class classObject
{
private:
// Список классов которые заявились о то что хотят знать что мы удаляемся
classListReference<classObject> *fListNotification;
public:
// Событие возникающее когда класс aWho уничтожается
virtual void Notification(classObject *aWho)
{
fListNotification.Remove(aWho);
};
public:
// метод реализующий, то что класс aWhom хочет быть информирован когда мы будет удаляться
virtual void FreeNotification(classObject *aWhom){fListNotification.Add(aWhom);};
public:
classObject(void){fListNotification = new classListPointer<classObject>(False);};
~classObject(void);
};
classObject::~classObject(void)
{
delete fListNotification;
}
И получаю вот такую ошибку! Не могу понять как её обойти!