Скачать MetaTrader 5

static class { ... };

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
k47
42
k47  

Такое выражение нормально компилируется. Что это означает - есть такая возможность (создавать статический класс) или она предусмотрена но не реализована или это баг?

билд 353 

Ilyas
1201
Ilyas  
Это баг. Такая запись допустима только в виде static class {...} variable_name;

Исправим, спасибо за сообщение.

k47
42
k47  
Прошу прощения за перерыв в сообщениях.
Сейчас мой билд 355
Более подробно - компилируется конструкция вида static class A{ ... };
В соответствии с этим и Вашим ответом я предположил что допутимо выражение вида static class A{ ... } A_;
Его компиляция не проходит с ошибкой: '}' - semicolon is expected
В то же время выражение вида static class A{ ... } A; также не компилируется с двумя ошибками - указанной и 'A' - structure identifier cannot be used

Хотелось бы узнать - какое именно из выражений должно иметь смысл в рамках языка и какой именно смысл (в том плане что выражение 'static class ...' по идее довольно сильное и должно накладывать ограничения на поля и методы)
Кроме того интересна вообще судьба слова 'static' применительно к полям и методам классов. Ведь, например, сделать конструктор можно и private и protected, но вызвать при этом нельзя если статический метод не объявляется.
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий