т.е. приведение к родителю, то все проходит корректно, видимо в структуре языка очень существенные изменения прошли и теперь производный тип однозначно не тип предок.
Приведение к родителю всегда в MQL работало и без dynamic_cast - классически. Возможно, не понимаю смысл dynamic_cast. По примеру в документации, наверное, не понял смысл. Кто бы пояснил.
а я так и не понял, почему в MQL невозможно приведение указателя к типу указателя класса наследника, а в С++ это возможно, разъясните плз это баг в MQL или так и должно быть?
если сделать так:
т.е. приведение к родителю, то все проходит корректно, видимо в структуре языка очень существенные изменения прошли и теперь производный тип однозначно не тип предок.
Если Вы не проверяете, что возвращает dynamic_cast, то его использование не имеет смысла.
Спасибо, в моем примере NULL возвращает. Почему так происходит?
Могли бы Вы привести практичный пример использования данной фишки?
Разработчики используют ее только в Graphic.mqh следующим образом
При этом у них такие определения классов/объектов
Т.е. они приводят родительский указатель к потомку. Ну так и в своем примере ровно это и делаю! Где загвоздка?
Указатель на родительский класс фактически может содержать указатель на потомка.
Указатель на родительский класс фактически может содержать указатель на потомка.
Спасибо, въехал!
а я так и не понял, почему в MQL невозможно приведение указателя к типу указателя класса наследника, а в С++ это возможно, разъясните плз это баг в MQL или так и должно быть?
в С++ это возможно, разъясните плз это баг в MQL или так и должно быть?
В чем ошибка выполнения
Все верно, нельзя приводиться снизу вверх, только сверху вниз. Это ради безопасности.
С С++ сравнивать нельзя - там все что угодно к чему угодно привести можно.
в С++ это тоже возможно только если указатель на базовый класс указывает на потомка.
Не понял что вы хотели этим сказать, но этот код:
Все верно, нельзя приводиться снизу вверх, только сверху вниз. Это ради безопасности.
С С++ сравнивать нельзя - там все что угодно к чему угодно привести можно.
теперь понятно, спс за разъяснения ))
Не понял что вы хотели этим сказать, но этот код: