Ошибки, баги, вопросы - страница 2361
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
вот Вам скриншот сообщений, скажите пожалуйста какой собеседник сейчас выбран
если возможность в MQL разыменовывать указатель *CObject ?
пробовал разные варианты, вот скрипт для теста, добавляю в связанный список 3 элемента Myclass и потом изменяю значения полей CMyclass, так все работает:
могу ли я изменять поля динамически созданных элементов CMyclass, без промежуточного указателя CMyclass *result ?
примерно так: (CMyclass *)(base.GetCurrentNode()).x = 99;
PS: подозреваю, что нужно использовать typedef , но пока неудачно
если возможность в MQL разыменовывать указатель *CObject ?
пробовал разные варианты, вот скрипт для теста, добавляю в связанный список 3 элемента Myclass и потом изменяю значения полей CMyclass, так все работает:
могу ли я изменять поля динамически созданных элементов CMyclass, без промежуточного указателя CMyclass *result ?
примерно так: (CMyclass *)(base.GetCurrentNode()).x = 99;
PS: подозреваю, что нужно использовать typedef , но пока неудачно
Не знаю что там библиотечный CList делает, но я раньше делал так
Не знаю что там библиотечный CList делает, но я раньше делал так
спс, но не это ищу, Ваш пример это по сути преобразование типов через вызов функции
ЗЫ: я никак к работе с указателями в MQL не привыкну, вот и пытаюсь разобраться, пример вроде простой и рабочий, но пока решения не нашел как привести результат GetCurrentNode() --> CObject * к моему типу CMyclass.... как вариант можно конечно вымудриться через конструктор CMyclass , но надеюсь, что есть изящное решение через приведение типов в MQL
спс, но не это ищу, Ваш пример это по сути преобразование типов через вызов функции
ЗЫ: я никак к работе с указателями в MQL не привыкну, вот и пытаюсь разобраться, пример вроде простой и рабочий, но пока решения не нашел как привести результат GetCurrentNode() --> CObject * к моему типу CMyclass.... как вариант можно конечно вымудриться через конструктор CMyclass , но надеюсь, что есть изящное решение через приведение типов в MQL
У меня там нет функций, а решается именно та задача, которую Вы описали. базовый класс списка у меня CNode ( в котором методы Prev(), Next() и т.п. ), а в цикле идет обращение к полям COrder, который является его наследником. Цикл объявляется в дефайнах 1 раз и далее используется везде.
У меня там нет функций, а решается именно та задача, которую Вы описали. базовый класс списка у меня CNode ( в котором методы Prev(), Next() и т.п. ), а в цикле идет обращение к полям COrder, который является его наследником. Цикл объявляется в дефайнах 1 раз и далее используется везде.
видимо Вы правы, попытался сделать по Вашему примеру, но хочу все таки через typedef
теперь компилятор пропускает мой пример, но где то нужно... что то нужно... а что? ошибку получаю при выполнении:
nvalid function pointer call in 'tst_file.mq4' (30,7)
видимо Вы правы, попытался сделать по Вашему примеру, но хочу все таки через typedef
теперь компилятор пропускает мой пример, но где то нужно... что то нужно... а что? ошибку получаю при выполнении:
nvalid function pointer call in 'tst_file.mq4' (30,7)
Так функцию-то написать нужно и присвоить указателю)))
Так функцию-то написать нужно и присвоить указателю)))
хм, логично, но тогда не дает точку поставить чтобы к полям класса обратиться если функцию напишу так:
PtrCMyclass Myclass(CObject* obj){ return(GetPointer(obj)); };
'x' - struct or class type expected tst_file.mq4 30 38