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

 
Доброго времени суток вчера обновился  на Виндоус 10 pro, 64 bit, скачал мт5, setup,  нажимаю установка , и ничего не происходит .
 
apotheosis trading #:
Доброго времени суток вчера обновился  на Виндоус 10 pro, 64 bit, скачал мт5, setup,  нажимаю установка , и ничего не происходит .
Вы уже делали такой пост (два раза), и тут есть страница с ответами:
https://www.mql5.com/ru/forum/371048/page3
не запускается MT5 на windows 10 - Попробуйте обновить Windows 10 как минимум до версии 21H2
не запускается MT5 на windows 10 - Попробуйте обновить Windows 10 как минимум до версии 21H2
  • 2022.12.21
  • www.mql5.com
И обновитесь как советует сервис деск обновите Windows 10 как минимум до версии 21H2 Всем доброго дня и хорошего настроения. Более 2-х недель назад перешел на Windows 10 и пока проблем с установкой и эксплуатацией МТ5 не наблюдалось
 

Два буфера

Это индикатор и два буфера сигналы вверх и вниз, инструмент биткоин и месячный таймфрейм. Цены близки к нулю (относительно) и нулевое значение буферов отражается в виде стрелок.

Это на МТ5, на МТ4 этого нет. Есть возможность исключить вывод нулевого значение буфера в окно?

 
apotheosis trading #:
Доброго времени суток вчера обновился  на Виндоус 10 pro, 64 bit, скачал мт5, setup,  нажимаю установка , и ничего не происходит .

Я так понял, что все установилось:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

не запускается MT5 на windows 10

apotheosis trading, 2023.05.30 17:19

Да, проблема решилась. Но не сразу, после обновления всех компонентов Виндоус , ещё раз попробовал и все установилось. Видимо должно было пройти пара часов . Чтобы обновление прогрузилось

 
Это правильное поведение компилятора?
struct A
{
  int i;
  
  A() {}
};

template <typename T>
void f( T& )
{
  T a = {};
}

void OnStart()
{
  A a;
  MqlTick b;
  
  f(a); // 'a' - cannot be initialized with initializer list
  f(b); // OK
}
 
fxsaber #:
Это правильное поведение компилятора?

Правильное, в Документации прямо сказано: 

В случае если явно определен конструктор, инициализация переменной типа структуры или класса при помощи инициализирующей последовательности невозможна.

У MqlTick нет конструктора - поэтому и ошибки нет

 
A100 #:

Правильное, в Документации прямо сказано: 

В случае если явно определен конструктор, инициализация переменной типа структуры или класса при помощи инициализирующей последовательности невозможна.

Когда-то было другое поведение. Что мешает сначала сделать инициализацию структуры, а затем запустить конструктор?

 
fxsaber #:

Когда-то было другое поведение. Что мешает сначала сделать инициализацию структуры, а затем запустить конструктор?

Инициализирующая последовательность не подразумевает запуск конструктора (и наоборот). У конструктора как правило свой список инициализации, поэтому может возникать путаница, если сделать как Вы предлагаете:

struct A {
    A() : i( 1 ) {}
    const int i;
};
void OnStart()
{
    A a = { 2 };
    Print( a.i ); //чему равен а.i ?
}
 
A100 #:

Инициализирующая последовательность не подразумевает запуск конструктора (и наоборот). У конструктора как правило свой список инициализации, поэтому может возникать путаница, если сделать как Вы предлагаете:

Ответ: 1. Инициализация - это какими байтами забить кусок памяти под структуру. Далее вызывается конструктор.

 
fxsaber #:

Ответ: 1. Инициализация - это какими байтами забить кусок памяти под структуру. Далее вызывается конструктор.

Неправильный ответ - прогрессивный компилятор при инициализации последовательностью поместит i=2 в область памяти ReadOnly (поскольку i - const). И далее при вызове списка инициализации конструктора и попытке записи i=1 будет ошибка доступа к памяти

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