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

 

Тут компилятор должен ошибку выдавать:

class A
  {
public:
   int               aa;
  };
A a;

void OnStart()
  {
   a.aa=999999;
   A b=GetPointer(a);//Переменная b не является указателем
   Print(b.aa);
  }

Скрипт принтует девятки.

 
Aliaksandr Hryshyn:

Тут компилятор должен ошибку выдавать:

Скрипт принтует девятки.

А раз так, то работает неявное приведение указателяссылки к объекту

В C++ это выглядело бы так:


#ifdef __cplusplus
#define GetPointer(a)   ((A&)(a))
void OnStart()
{
   a.aa=999999;
   A b = GetPointer(b);
   Print(b.aa);
}
#endif
 
A100 :

А раз так, то работает неявное приведение  указателя ссылки к объекту

В C++ это выглядело бы так:

Поскольку вы очень хорошо разбираетесь в ООП. Могу я узнать ваше мнение по этому поводу?

Bug: Const method + Copy constructor
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...
 
fxsaber:

На удаленной машине такое стало только после какого-то времени. До этого все работало правильно. Не могу вспомнить, чтобы что-то менял в ОС.

Я помню нечто подобное. Возможно, с подключением по РДП связано.

И, кажется, помогало переключение по окнам с помощью Alt+Tab.

 
Andrey Khatimlianskii:

Я помню нечто подобное. Возможно, с подключением по РДП связано.

И, кажется, помогало переключение по окнам с помощью Alt+Tab.

К сожалению, не помогло. Пока не закрою Алерт, терминал так и не видно.

 
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) в любом случае

 
A100 :

В C++ все компилируется без ошибок, в MQL без const (3) - тоже компилируется - значит где то в MQL ошибка

С другой стороны - даже если бы (4) и компилировалось бы, то все равно разная последовательность вызовов была бы:

в MQL: 1-4-1-2

в С++:  1-4-1

поэтому правильнее использовать вариант (5) в любом случае

Спасибо :-)
 

Блин, я так и не понял, подскажите люди добрые:

Чтобы в прекрасный момент не слетали все открытые файлы в Метаедиторе, что нужно сделать то?

metaeditor.ini вручную бэкапить что-ли? ну серьёзно.

Только что даже не после закрытия/открытия, а прям в открытом вдруг всё слетело. Причина непонятна. 

 
Aleksey Mavrin:

Блин, я так и не понял, подскажите люди добрые:

Чтобы в прекрасный момент не слетали все открытые файлы в Метаедиторе, что нужно сделать то?

metaeditor.ini вручную бэкапить что-ли? ну серьёзно.

Только что даже не после закрытия/открытия, а прям в открытом вдруг всё слетело. Причина непонятна. 

У меня не слетает, использую как портативную версию.
 

Есть заказчик. Я выполнил ему работу. Он возжелал еще работать со мной. Создал работу. Не смог разобраться или у него пропал шаг, там где нужно приложить спецификацию.

Удалил работу. По правилам, можно создавать только одну работу. Создать не может, хочет создать еще один аккаунт. (я ему посоветовал этого не делать, и написал что попробую сам обратится в поддержку)

Предлагал оплатить вперед не здесь, на что я отказался. Так как это не честно по отношении к третьей стороне (МКЛ)

Пожалуйста дайте возможность ему создать работу здесь. 

Как-то это не правильно. Есть человек готовый платить за работу, есть исполнитель который согласен ее выполнить и заплатить комиссию. Процесс остановлен. 

https://www.mql5.com/en/users/mbende/feedbacks

Причина обращения: