Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В файле localvar_testscript_4.mq5
Если после вызова GetPointer() вывести тип указателя, то окажется, что указатели являются POINTER_AUTOMATIC, а не POINTER_DINAMIC.
Поэтому эта строка никогда не выполняется
<цитата>
@При таком порядке объявления уничтожение items_array происходит до уничтожения массива объектов array[5]. В функции Destroy(), которая вызывается из деструктора items_array, работа ведётся с указателями на ещё существующие объекты, поэтому никаких ошибок не возникает.@ </цитата>
Всем привет!
Вот тут я логики вообще не понял. =)
Ведь в методе Destroy мы сравниваем тип нашего указателя с динамическим типом. А наш тип автоматический. Следовательно до оператора delete дело просто не доходит.
Но он и не нужен, ведь автоматически созданные объекты удаляются автоматически.
И последнее, в файле забыли указать тип возвращаемого значения void для методов Destroy и SetArray на этапе реализации методов за пределами Класса из-за чего выбивает ошибку.
Новички (как я) могут пугаться =)