MT4 билд 610 имеет редактор МетаЭдитор-5 билд 887. В нем после компиляции сообщение: - страница 2

 

keekkenen, вы лучше опубликуйте тут результат своего умного java компилятора.

Вот для сравнения Visual Studio C++ 2012:

double Check(int tr)
  {
   if(tr!=0 && tr!=1) return(-1);
   if(tr==0)          return(0);
   if(tr==1)          return(1);
  }

int _tmain(int argc, _TCHAR* argv[])
  {
   Check(5);
   return(0);
  }

warning C4715: 'Check' : not all control paths return a value

запустил аналогичный код в Andoid Studio на Java последнем:

public double Check(int tr)
    {
        if(tr!=0 && tr!=1) return(-1);
        if(tr==0)          return(0);
        if(tr==1)          return(1);
    }


public boolean onOptionsItemSelected(MenuItem item) 
    {
        Check(5);

error: missing return statement


Компилятор MQL4(а это именно MQL5) очень хорош и с каждым билдом становится еще лучше.

Мы специально много усилий прикладываем к более глубокому анализу ошибок, чтобы оставить меньше шансов для ошибок разработчиков.

 

я конечно некорректно выразился, mql-компилятору все равно на выше описанную логику (иначе бы она не работала), а по вашей логике должно быть вот так

а этого нет, все только задним умом..

зы. никто не спорит с тем, что МТ-платформа эволюционирует, просто гибкое IDE это нехилая задача, на реализацию которой требуется отдельное время..

 

Пардон, господа, это я погорячился насчет дурака.

Вариант:

if (Mode == 0) return(...)

if (Mode == 1) return(...)

return(-1)

имеет в данном случае глубокий смысл (по крайней мере одной проверкой меньше), и именно так я и поступил.

Но главное не это, как мне кажется, а просто надо расшифровать стандартные фразы компилятора в хелпе. Тогда не будет дурацких вопросов на ровном месте.

Или может стоит в хелп СИ++ лазить? (хи-хи)

 
keekkenen:

я конечно некорректно выразился, mql-компилятору все равно на выше описанную логику (иначе бы она не работала), а по вашей логике должно быть вот так

а этого нет, все только задним умом..

зы. никто не спорит с тем, что МТ-платформа эволюционирует, просто гибкое IDE это нехилая задача, на реализацию которой требуется отдельное время..

Само по себе сообщение об отсутствующем return является требованием начального уровня знаний программиста.

Но в любом случае мы будем увеличивать количество проверок, усиливать интеллисенс и дойдем до подсказок прямо в коде.

 
Renat:

Само по себе сообщение об отсутствующем return является требованием начального уровня знаний программиста.

Но в любом случае мы будем увеличивать количество проверок, усиливать интеллисенс и дойдем до подсказок прямо в коде.


Ага.

Она будет догонять и подсказывать.

(не обижайтесь, дурная шутка)

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