如何摆脱这个Eclipse警告?

时间:2014-08-12 19:04:24

标签: c++ eclipse warnings

我在Eclipse中有类似下面的函数。但是,因为在while循环之外没有返回,Eclipse假定我可能有逻辑错误(可能它不能看到while的条件总是为真。

切换到do-while不会有帮助。有没有办法可以通过编程方式摆脱这种警告,即不是通过修改Eclipse IDE的设置。

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

        if(...)
            return -1;

        ...

        if(...)
            return 0;
    }
}

我在终端编译了相同的功能,没有任何警告。

2 个答案:

答案 0 :(得分:2)

在结束括号之前添加return语句,即使您希望永远不会达到它。 我在Visual Studio 2010中收到了类似的警告,并添加了一个显然无关的return来解决问题。

答案 1 :(得分:0)

这是修复,使用返回值变量:

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;
}

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