简体   繁体   English

如何解决 integer 的“并非所有控制路径都返回值”错误

[英]How can I resolve "Not all control paths return a value" error for integer

I have the error "Not all control paths return a value".我有错误“并非所有控制路径都返回一个值”。 I've seen it before and have been able to resolve it for a simple bool return value.我以前见过它,并且能够通过简单的 bool 返回值来解决它。 This is a bit different and seems to be a challenge for me since it has a for-loop and at the same time returns integers.这有点不同,对我来说似乎是一个挑战,因为它有一个 for 循环,同时返回整数。 Please see my code below:请在下面查看我的代码:

int ArrowedCandleIndex  () {

      for (int i=0; i<NumBars; i++)
      {
         double dnArrow = iCustom(Symbol(),Period(),ARROWS_SIGNAL_NAME,ARROWS_SIGNAL_BUFFER_DN,i);
         double upArrow = iCustom(Symbol(),Period(),ARROWS_SIGNAL_NAME,ARROWS_SIGNAL_BUFFER_UP,i);

         if ((dnArrow!=EMPTY_VALUE) && (DoubleToStr(dnArrow,Digits()) != "0.00000"))  {

            currentArrowedCandleIndex = NumBars;

            return currentArrowedCandleIndex;
            }
         if ((upArrow!=EMPTY_VALUE) && (DoubleToStr(upArrow,Digits()) != "0.00000"))  {
            currentArrowedCandleIndex = NumBars;

            return currentArrowedCandleIndex;
            }
      }
  }

How can I resolve this issue?我该如何解决这个问题?

Q : " How can I resolve this ( "Not all control paths return a value" ) issue? ":“如何解决这个(“并非所有控制路径都返回值”)问题?

int ArrowedCandleIndex  () {

      for ( int i = 0; i <  NumBars; i++ )
      {
         ...    
         if (  (  EMPTY_VALUE != dnArrow )
            && ( "0.00000"    != DoubleToStr( dnArrow, Digits() ) )
               ) {
                 ...
                 return currentArrowedCandleIndex; // ------------ JIT/RET--(a)
         }

         if (  (  EMPTY_VALUE != upArrow )
            && ( "0.00000"    != DoubleToStr( upArrow, Digits() ) )
               ) {
                 ...
                 return currentArrowedCandleIndex; // ------------ JIT/RET--(b)
            }
      }
      return EMPTY_VALUE; // ------------------------------------- JIT/RET--(c)
  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM