Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
потому что это сама по себе ошибка, но fxsaber будет сейчас доказывать что это на самом деле правильно (так было в MQL задумано) и мы чего то не понимаем
Если MQL5 компилирует и выполняет код, который не может скомпилировать C++, то разве правомерна здесь претензия, что MQL5 делает это по ошибке?
Представим язык, который компилирует и выполняет все C++-коды. Более того, он еще компилирует и выполняет некоторые коды, которые C++ не может скомпилировать. Тогда, очевидно, что C++ является подмножеством рассматриваемого языка. Это только логика, без привязки к MQL5, конкретно.
Здесь нужно учесть, что значение __FUNCSIG__ является вспомогательным, поскольку не является частью стандарта и не принимает участие в вычислениях. Главное что выполнение (:16) правильное. Embarcadero C++ даёт такой же результат
C++ по какой-то причине приводится, как эталон в данном контексте.
Потому что в Основах языка сказано: MQL5 основан на концепции широко распространенного языка программирования С++...
И кроме того ответ СервисДеска на некоторые мои заявки начинался словами: "Мы проверили поведение представленного кода в Visual C++..."
На C++ не компилируется пример подобный такому:
потому что это сама по себе ошибка, но fxsaber будет сейчас доказывать что это на самом деле правильно (так было в MQL задумано) и мы чего то не понимаем
Если MQL5 компилирует и выполняет код, который не может скомпилировать C++, то разве правомерна здесь претензия, что MQL5 делает это по ошибке?
Представим язык, который компилирует и выполняет все C++-коды. Более того, он еще компилирует и выполняет некоторые коды, которые C++ не может скомпилировать. Тогда, очевидно, что C++ является подмножеством рассматриваемого языка. Это только логика, без привязки к MQL5, конкретно.
Основной пример на С++ компилируется без ошибок
g++ 5.4.0 не хочет компилить. и покажите плз как называется класс на выходе
Хотя можно было бы ожидать (по аналогии с), например так:
void f<g<A,int >::T1>(void)
void f<g<A,double>::T1>(void)
Здесь нужно учесть, что значение __FUNCSIG__ является вспомогательным, поскольку не является частью стандарта и не принимает участие в вычислениях. Главное что выполнение (:16) правильное. Embarcadero C++ даёт такой же результат
g++ 5.4.0 не хочет компилить. и покажите плз как называется класс на выходе
а какие флаги включаете?
Если MQL5 компилирует и выполняет код, который не может скомпилировать C++, то разве правомерна здесь претензия, что MQL5 делает это по ошибке?
Не может - потому что находит в них неразрешимые противоречия, которые в MQL возможно были упущены из виду
Не может - потому что находит в них неразрешимые противоречия, которые в MQL были упущены из виду.
Это тоже только логика, без привязки
Говорим о разном. Закончил.
не, не сигнатура функции интересует, а класса внутреннего
Я не знаю как это посмотреть... если кто знает - напишите пожалуйста результат