Интересности компилятора

 
Здравствуйте. На новом компиляторе (build 551) завершение функции на return вызывает ошибку - function must return a value. В то же время в приведенном в качестве примера советника - MACD Samle.mq4 после return не стоит (0) нигде, но все компилируется. В чем пролема? Ведь на сколько я знаю return; и return(0); равнозначны так как не возвращают никакого значения. Спасибо.
 
new_level:
Там ваще все по-другому, привыкайте, скоро будет принудиловка
 
new_level:
Здравствуйте. На новом компиляторе (build 551) завершение функции на return вызывает ошибку - function must return a value. В то же время в приведенном в качестве примера советника - MACD Samle.mq4 после return не стоит (0) нигде, но все компилируется. В чем пролема? Ведь на сколько я знаю return; и return(0); равнозначны так как не возвращают никакого значения. Спасибо.

Может у вас функция определена как void?
 
khorosh:

Может у вас функция определена как void?

Не, на войд как раз не ругается, это единственный вариант в котором ретурн можно не писать.
 
Не, не стоит выносить бета-тестирование в отдельные темы. Тут пока ещё стабильная 509.
 
new_level:
Здравствуйте. На новом компиляторе (build 551) завершение функции на return вызывает ошибку - function must return a value. В то же время в приведенном в качестве примера советника - MACD Samle.mq4 после return не стоит (0) нигде, но все компилируется. В чем пролема? Ведь на сколько я знаю return; и return(0); равнозначны так как не возвращают никакого значения. Спасибо.

Выделенное не верно. Как это равнозначны ? А чем Вам 0 не значение ?
 
VladislavVG:

Выделенное не верно. Как это равнозначны ? А чем Вам 0 не значение ?
+
 
тогда какие Ваши предложения по преодолению данного предупреждения... или все же лучше ждать уже окончателььного билда с всеми нововведениями?
 
new_level:
Здравствуйте. На новом компиляторе (build 551) завершение функции на return вызывает ошибку - function must return a value. В то же время в приведенном в качестве примера советника - MACD Samle.mq4 после return не стоит (0) нигде, но все компилируется. В чем пролема? Ведь на сколько я знаю return; и return(0); равнозначны так как не возвращают никакого значения. Спасибо.

а функцию покажите
 
new_level:
тогда какие Ваши предложения по преодолению данного предупреждения...

а в чём проблема-то? ну возвращай что нибудь из фунции. хоть 0.

пустой return - для досрочного выхода из void xxx() // если не досрочный - можно не писать, автоматом добавляется.

 
new_level:
тогда какие Ваши предложения по преодолению данного предупреждения... или все же лучше ждать уже окончателььного билда с всеми нововведениями?
Вас это предупреждение объедает, холодильник опустошает? Это не ошибка. Это предупреждение.