Ошибки, баги, вопросы - страница 1816

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Столкнулся с некорректным (на мой взгляд) поведением указателей на объекты.
Выглядит, как ошибка MQL.
Ошибка у Вас. Как Вы себе представляется присваивание потомку пустого родителя?
Выглядит, как ошибка MQL.
Ошибка у Вас. Как Вы себе представляется присваивание потомку пустого родителя?
Точно так же, как непустого. В baseObj1 лежит указатель на объект класса-потомка. Если убрать delete(obj1), присваивание в последней строке никаких проблем не вызывает - типы указателей соответствуют. Думаю, аналогично должно проходить присваивание, если объект, на который ссылается указатель, удалён. И уж точно не должно быть ошибки "Invalid pointer access" - нет ведь попытки доступа к удалённому объекту.
Вот эта часть Вашего кода
Видимо, срабатывает проверка соответствия типа объекта, на который ссылается baseObj1, типу указателя obj2. Тут два варианта:
1) Сам указатель может быть сложной структурой, в которой содержится тип объекта
2) Обращаемся к объекту, чтобы выяснить тип.
Кажется, у нас случай № 2, и с этим придётся жить. Спасибо за наводящие вопросы )
Касперский последнюю неделю орет на пытающийся обновиться терминал.
Вот эта часть Вашего кода
Так же как и здесь
class B : public A {};
class C : public B {};
void OnStart()
{
B *b = new B;
delete b;
B *c = b;
b = new C;
A *a = c;
Print( a, ":", b, ":", c );
}
Так же как и здесь
class B : public A {};
void OnStart()
{
B *b1 = new B;
A *a = b1;
delete b1;
B *b2 = b1;
b1 = new B; //уже другой объект
a = b2; //
Print( a, ":", b1, ":", b2 );
}
Касперский последнюю неделю орет на пытающийся обновиться терминал.
все чисто,build 1545. в том числе кашпировский говорит-все чисто
https://www.virustotal.com/ru/file/2c3bf04666714cfac26e6e1c0fe355c6081554a0c2a15434849b0a5c241c95b0/analysis/1487685060/