Ошибки, баги, вопросы - страница 3061 1...305430553056305730583059306030613062306330643065306630673068...3775 Новый комментарий A100 2021.07.26 12:45 #30601 Ошибка при компиляции /**/ \ //Error: '\' - illegal escape sequence void OnStart() {} Aliaksandr Hryshyn 2021.07.26 12:48 #30602 A100: Ошибка при компиляции Так а что там делает символ \ после закрытия комментария? Ilyas 2021.07.26 13:25 #30603 Aliaksandr Hryshyn: Так а что там делает символ \ после закрытия комментария? Это специальный символ переноса и он должен игнорироваться в данном случае, ошибка не критичная (в исправление с низким приоритетом) Aliaksandr Hryshyn 2021.07.26 16:29 #30604 Тут компилятор должен ошибку выдавать: class A { public: int aa; }; A a; void OnStart() { a.aa=999999; A b=GetPointer(a);//Переменная b не является указателем Print(b.aa); } Скрипт принтует девятки. A100 2021.07.26 16:54 #30605 Aliaksandr Hryshyn: Тут компилятор должен ошибку выдавать: Скрипт принтует девятки. Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях A100, 2021.06.21 08:35 В MQL указатели - это фактически не указатели (отсутствует адресная арифметика), а ссылки А раз так, то работает неявное приведение указателяссылки к объекту В C++ это выглядело бы так: #ifdef __cplusplus #define GetPointer(a) ((A&)(a)) void OnStart() { a.aa=999999; A b = GetPointer(b); Print(b.aa); } #endif Новая версия платформы MetaTrader Новая версия платформы MetaTrader Новая версия платформы MetaTrader Alain Verleyen 2021.07.26 19:56 #30606 A100 : А раз так, то работает неявное приведение указателя ссылки к объекту В C++ это выглядело бы так: Поскольку вы очень хорошо разбираетесь в ООП. Могу я узнать ваше мнение по этому поводу? Bug: Const method + Copy constructor 2021.07.18 www.mql5.com This code reproduces the bug: There are 2 workarounds for this code, you either remove the const qualifier from the method foo or create a temporar... Andrey Khatimlianskii 2021.07.27 01:23 #30607 fxsaber: На удаленной машине такое стало только после какого-то времени. До этого все работало правильно. Не могу вспомнить, чтобы что-то менял в ОС. Я помню нечто подобное. Возможно, с подключением по РДП связано. И, кажется, помогало переключение по окнам с помощью Alt+Tab. fxsaber 2021.07.27 03:18 #30608 Andrey Khatimlianskii: Я помню нечто подобное. Возможно, с подключением по РДП связано. И, кажется, помогало переключение по окнам с помощью Alt+Tab. К сожалению, не помогло. Пока не закрою Алерт, терминал так и не видно. A100 2021.07.27 11:14 #30609 Alain Verleyen: Поскольку вы очень хорошо разбираетесь в ООП. Могу я узнать ваше мнение по этому поводу? В C++ все компилируется без ошибок, в MQL без const (3) - тоже компилируется - значит где то в MQL ошибка class C { public: C() { Print( 1 ); } C( const C& ) { Print( 2 ); } C h() { Print( 3 ); return C(); } //(3) нормально C f() const { Print( 4 ); return C(); } //(4) ошибка при компиляции C g() const { Print( 5 ); C c; return c; } //(5) замена (4) }; void OnStart() { C c; c.f(); } С другой стороны - даже если бы (4) и компилировалось бы, то все равно разная последовательность вызовов была бы: в MQL: 1-4-1-2 в С++: 1-4-1 поэтому правильнее использовать вариант (5) в любом случае помогите разобраться! Работает корректно Вопросы от начинающих MQL5 У пользователя не работает Alain Verleyen 2021.07.27 17:42 #30610 A100 : В C++ все компилируется без ошибок, в MQL без const (3) - тоже компилируется - значит где то в MQL ошибка С другой стороны - даже если бы (4) и компилировалось бы, то все равно разная последовательность вызовов была бы: в MQL: 1-4-1-2 в С++: 1-4-1 поэтому правильнее использовать вариант (5) в любом случае Спасибо :-) 1...305430553056305730583059306030613062306330643065306630673068...3775 Новый комментарий
Ошибка при компиляции
Так а что там делает символ \ после закрытия комментария?
Это специальный символ переноса и он должен игнорироваться в данном случае, ошибка не критичная (в исправление с низким приоритетом)
Тут компилятор должен ошибку выдавать:
Скрипт принтует девятки.
Тут компилятор должен ошибку выдавать:
Скрипт принтует девятки.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях
A100, 2021.06.21 08:35
В MQL указатели - это фактически не указатели (отсутствует адресная арифметика), а ссылки
А раз так, то работает неявное приведение указателяссылки к объекту
В C++ это выглядело бы так:
А раз так, то работает неявное приведение указателя ссылки к объекту
В C++ это выглядело бы так:
Поскольку вы очень хорошо разбираетесь в ООП. Могу я узнать ваше мнение по этому поводу?
На удаленной машине такое стало только после какого-то времени. До этого все работало правильно. Не могу вспомнить, чтобы что-то менял в ОС.
Я помню нечто подобное. Возможно, с подключением по РДП связано.
И, кажется, помогало переключение по окнам с помощью Alt+Tab.
Я помню нечто подобное. Возможно, с подключением по РДП связано.
И, кажется, помогало переключение по окнам с помощью Alt+Tab.
К сожалению, не помогло. Пока не закрою Алерт, терминал так и не видно.
Поскольку вы очень хорошо разбираетесь в ООП. Могу я узнать ваше мнение по этому поводу?
В C++ все компилируется без ошибок, в MQL без const (3) - тоже компилируется - значит где то в MQL ошибка
С другой стороны - даже если бы (4) и компилировалось бы, то все равно разная последовательность вызовов была бы:
в MQL: 1-4-1-2
в С++: 1-4-1
поэтому правильнее использовать вариант (5) в любом случае
В C++ все компилируется без ошибок, в MQL без const (3) - тоже компилируется - значит где то в MQL ошибка
С другой стороны - даже если бы (4) и компилировалось бы, то все равно разная последовательность вызовов была бы:
в MQL: 1-4-1-2
в С++: 1-4-1
поэтому правильнее использовать вариант (5) в любом случае