如何摆脱这个Eclipse警告

How to get rid of this Eclipse warning?

本文关键字:Eclipse 警告 何摆脱      更新时间:2023-10-16

我在Eclipse中有一个函数,如下所示。但是,由于while循环之外没有返回,Eclipse假定我可能有一个逻辑错误(可能它看不到while的条件总是为真)。

切换到do-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;
}

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