Несоответствие параметров при вызове функций

Опубликовано в Ошибки QPILE

FUNC a(b)

       result = 1

END FUNC

 

Как видно, параметр b внутри функции не используется. Далее где-то следует вызов функции без параметра: 

a()

Этот код будет выполнен без ошибок, несмотря на явное несоответствие формальных и фактических параметров.

 

Возможна более неприятная ситуация:

 

FUNC a(b)

       if (price > 100)

                         result = 100

       else

                       result = b

      end if

 

END FUNC

и где-то дальше вызываем функцию а() без параметров.

Портфель будет работать "на ура" пор, пока значение price больше 100. Если через полгода она опустится ниже - неприятность....


Разработчики поставлены в известность, исправлять ситуацию не планируют. 

Недостаточно прав для комментирования