Баг компилятора при параметре шаблона = void* - страница 9

 
A100:

Предупреждение выдано только потому, что в MQL5 приоритеты другие. А не потому что ...

Таким образом Разработчики исправили свои предыдущие огрехи... не более того

Здесь тоже с приоритетами что-то не так?

 
fxsaber:

Здесь тоже с приоритетами что-то не так?

Они отличаются в MQL5 и старом MQL4... я думал Вы уже прочитали об этом
 
A100:
Они отличаются в MQL5 и старом MQL4... я думал Вы уже прочитали об этом

Список отличий, пожалуйста.

 
fxsaber:

Список отличий, пожалуйста.

Сами не можете составить? Пройти по указанным ссылкам?

MQL5 и новый MQL4

Операция

Описание

Порядок выполнения

&&

Логическая операция И

Слева направо

||

Логическая операция ИЛИ

Слева направо


старый MQL4

||

Логическая операция ИЛИ

Слева направо

&&

Логическая операция И

Слева направо

Чем выше приоритет группы операций, тем выше она расположена в таблице.

Ваш пример:

bool a = r && g || b;
 
Ilya Malev:
Было бы удобнее если бы компилятор предлагал автоматически расставить скобки "правильно", по типу того как эксель делает когда неполную формулу напишешь.

Вообще для любителей скобок есть специальные языки программирования - LISP. Вот выдержка из поисковика: "Такой стиль немного напоминает стиль языка LISP. Но в LISP большое количество скобок вызвано отсутствием приоритетов операций."

 
A100:

Вообще для любителей скобок есть специальные языки программирования - Симула, LISP. Вот выдержка про него из поисковика: "Такой стиль немного напоминает стиль языка LISP. Но в LISP большое количество скобок вызвано отсутствием приоритетов операций."

Это хорошо, что компилятор предупреждает о чем-то, что внезапно меняют в прошлой логике разработчики. Если бы такие же предупреждения выдавались на вызовах функций типа ArrayMaximum после переноса кода из mql4 я бы сэкономил в свое время кучу времени и нервов (в них невозбранно поменяли местами однотипные параметры, если кто не в курсе)

 
Ilya Malev:

Это хорошо, что компилятор предупреждает о чем-то, что внезапно меняют в прошлой логике разработчики.

Я не возражаю. Только пусть эти предупреждения останутся в старом\новом MQL4.

 
Что касается того, что "нормальные программеры помнят приоритеты операций С++ как таблицу умножения", то я лично её более-менее запомнил только после того, как занялся вплотную перегрузкой операторов, а до этого вообще ни разу не открывал. Далеко не все кодеры на mql-программеры профи, и разработчикам терминала и языка для трейдеров это нужно учитывать не в последнюю очередь.
 
Ilya Malev:

Если бы такие же предупреждения выдавались на вызовах функций типа ArrayMaximum после переноса кода из mql4 я бы сэкономил в свое время кучу времени и нервов (в них невозбранно поменяли местами однотипные параметры, если кто не в курсе)

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

 
Ilya Malev:
Далеко не все кодеры на mql-программеры профи, и разработчикам терминала и языка для трейдеров это нужно учитывать не в последнюю очередь.

Именно! Ни разу не профи, мне подобные предупреждения 100 раз помогали.

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