Alexey Kozitsyn: Запустил, увидел проблему. Похоже с юнионами сейчас разрешено использовать только структуры с паблик-полями. Тогда можно будет написать struct = {0};
Может я опять Вас не понял, но этот код работает без предупреждений:
struct STRUCT
{
//private:int i;
};
// Нужен только для того, чтобы показать необходимость решения без конструктора
union UNION
{
STRUCT Struct; // конструктора не должно бытьint i;
};
// Обходим Warning "possible use of uninitialized variable"template <typename T>
void StructInit( T& ) {}
STRUCT Func()
{
STRUCT Res = {0}; // ок!// StructInit(Res); // с этой строкой Warning не появляется, но это какой-то абсурд!return(Res);
}
voidOnStart()
{
Func();
}
Может я опять Вас не понял, но этот код работает без предупреждений:
Все верно, public-структуры инициализируются. Но union к этому никакого отношения не имеет.
Интересно, что если структуру со скрытым полем сделать паблик-полем новой структуры, то и новая не будет инициализироваться, хоть у нее все поля открыты.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Запустил, увидел проблему. Похоже с юнионами сейчас разрешено использовать только структуры с паблик-полями. Тогда можно будет написать struct = {0};
Это не так.
Это не так.
Может я опять Вас не понял, но этот код работает без предупреждений:
Может я опять Вас не понял, но этот код работает без предупреждений:
Все верно, public-структуры инициализируются. Но union к этому никакого отношения не имеет.
Интересно, что если структуру со скрытым полем сделать паблик-полем новой структуры, то и новая не будет инициализироваться, хоть у нее все поля открыты.
Здравствуйте! Подскажите, можно ли объявить массив, указав количество элементов в нём через переменную? Если нет, то как можно реализовать эту задачу?
Здравствуйте! Подскажите, можно ли объявить массив, указав количество элементов в нём через переменную? Если нет, то как можно реализовать эту задачу?
https://www.mql5.com/ru/docs/array/arrayresize
Здравствуйте! Подскажите, можно ли объявить массив, указав количество элементов в нём через переменную? Если нет, то как можно реализовать эту задачу?
ArrayResize()
fxsaber, Yury Kirillov, благодарю вас!
Это баг?
А в "четверке" компилится без проблем.
Причем, "четверка" ведь умеет компилить в ex5, если исходник с расширением mq5.
"Четверка" - условное название, компилятор-то и редактор вроде общие. Затык видимо в версии и последних "улучшениях".
А в "четверке" компилится без проблем.
Причем, "четверка" ведь умеет компилить в ex5, если исходник с расширением mq5.
"Четверка" - условное название, компилятор-то и редактор вроде общие. Затык видимо в версии и последних "улучшениях".
Действительно, в 1601 билде ME (шел с MT4b1090) компилится.
Кто-нить знает почему в хранилище добавляются пустые строки. Или с этим надо идти в СервисДеск? Код загружал без пустых строк.