[英]How can I resolve "Not all control paths return a value" error for integer
我有错误“并非所有控制路径都返回一个值”。 我以前见过它,并且能够通过简单的 bool 返回值来解决它。 这有点不同,对我来说似乎是一个挑战,因为它有一个 for 循环,同时返回整数。 请在下面查看我的代码:
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;
}
}
}
我该如何解决这个问题?
问:“如何解决这个(“并非所有控制路径都返回值”)问题? ”
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.