繁体   English   中英

如何摆脱这个Eclipse警告?

[英]How to get rid of this Eclipse warning?

我有一个类似Eclipse中下面的函数。 但是,由于在while循环之外没有返回值,因此Eclipse假定我可能存在逻辑错误(可能无法看到while条件始终为真。

切换为“做时制”无济于事。 有什么方法可以通过编程方式消除此警告,即不能通过修改Eclipse IDE的设置来解决。

int foo(...)
{
    while (1) {
        ...

        if(...)
            return -1;

        ...

        if(...)
            return 0;
    }
}

我在终端中编译了相同的函数,没有警告。

即使您希望永远不会达到,也请在右花括号前添加return语句。 我从Visual Studio 2010得到了类似的警告,并添加了一个明显无关的return解决此问题。

解决方法是使用返回值变量:

int foo(...)
{
  int return_value = 0;
  while (true)
  {
    //...
    if (...)
    {
      return_value = -1;
      break; // out of the while loop
    }
    if (...)
    {
       return_value = 0;
       break;
    }
  }
  return return_value;
}

一个入口点,一个出口点。

暂无
暂无

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

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