Извините, а в чем сакральная суть преобразования одного класса в заведомо другой?
В С++ это тоже не будет работать, и в результате работы dynamic_cast будет выдано исключение std::bad_cast
______
Далее. Таки имею стойкое убеждение, что использование dynamic_cast в любой реализации в подавляющем большинстве случаев является костылем или показателем плохого проектирования.
Ну да ладно. Пусть таки пользуется. Но использование заведомо небезопасного преобразования это потенциальные непредвиденные косяки, которые будут ооочень и оооочень тяжело отлавливаться.
Далее. Таки имею стойкое убеждение, что использование dynamic_cast в любой реализации в подавляющем большинстве случаев является костылем или показателем плохого проектирования.
Ну да ладно. Пусть таки пользуется. Но использование заведомо небезопасного преобразования это потенциальные непредвиденные косяки, которые будут ооочень и оооочень тяжело отлавливаться.
У меня компилятор выдаёт кучу ошибок.
Этот код наверное именно то, что я ищу т. к. я хочу класс, который может хранить объекты любых типов, но на выходе вернёт указатель типа объекта который в него поместили.
Это нужно для того, что бы одной строкой кода вызвать метод класса, указатель на который хранится в списке:
arrObj.At(7)."методы класса хранимого в списке";
Сейчас в MQL есть встроенный dynamic_cast.
Но для Вашей задачи это не подходит.
Не знаю, насколько это хорошо, но работает.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
См. прикрепленный файл для большего количества примеров. (Английский сообщение dynamic_cast - MQL4 forum)