Ну это ж вы делаете какие-то заявления. С вас и объяснения.
К слову, данный код у меня прекрасно компилировался и работал на старых билдах, но я всё-равно с любопытством выслушаю вашу версию )
Понимаю, что рассчитываете на исходный нулевой ArraySize динамического массива. Поэтому в конструкторе с этим массивом ничего делать нельзя, чтобы не поймать рекурсию.
В общем, чтобы обойти этот баг, я нашёл 2 варианта решения:
1. Более замороченный: поместить данный массив внутрь обёртки из класса и потом создавать/удалять динамический объект. Соответственно доступ к массиву становится более длинный (в плане синтаксиса)
2. Убрать все конструкторы из данной структуры, а от неё унаследовать другую структуру с конструкторами. Ну и тип массива поменять. Правда такой вариант не всегда подойдёт.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Кстати, VС это еще на стадии компиляции чухнул ))
Просто Вы неправильно перевели из MQL в С++
да, не увидел, что у ТС массив пустой.
Ну это ж вы делаете какие-то заявления. С вас и объяснения.
К слову, данный код у меня прекрасно компилировался и работал на старых билдах, но я всё-равно с любопытством выслушаю вашу версию )
Понимаю, что рассчитываете на исходный нулевой ArraySize динамического массива. Поэтому в конструкторе с этим массивом ничего делать нельзя, чтобы не поймать рекурсию.
Про рекурсию поторопился, был не прав.
В общем, чтобы обойти этот баг, я нашёл 2 варианта решения:
1. Более замороченный: поместить данный массив внутрь обёртки из класса и потом создавать/удалять динамический объект. Соответственно доступ к массиву становится более длинный (в плане синтаксиса)
2. Убрать все конструкторы из данной структуры, а от неё унаследовать другую структуру с конструкторами. Ну и тип массива поменять. Правда такой вариант не всегда подойдёт.
В общем, чтобы обойти этот баг, я нашёл 2 варианта решения:
А зачем усложнять?
struct A { A a[]; //нормально A() {} };Зачем усложнять?
Влияние очередности строк - круто.