如何摆脱这个Eclipse警告
How to get rid of this Eclipse warning?
我在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;
}
一个入口点,一个出口点。
相关文章:
- 警告处理为错误这里有什么问题
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- cppcheck在const std::string[]上引发警告
- GCC对可能有效的代码抛出init list生存期警告
- 如何在BST的这个简单递归实现中消除警告
- 关于std::move的使用,是否有编译警告
- g++ 在某个类成员未初始化时不发出警告
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 使用typeid警告未使用的变量
- 无法在Ubuntu上将共享库与Eclipse链接
- 示例C++项目编译中的警告
- 警告:在函数返回类型 [-Wignore 限定符] 时忽略类型限定符
- 如何修复编译器警告 C6386 和 C6385?
- 返回语句后的代码,没有警告
- 获取隐式转换溢出从无符号到已签名的警告
- 在 eclipse 中,将宏重定义视为错误而不是警告
- 钻石继承方案在 G++ 中编译良好,但在 VC++/Eclipse 中产生警告/错误
- 如何摆脱这个Eclipse警告
- "control reaches end of non-void function" Eclipse C++ 中的警告,但没有编译或运行时错误
- 如何在Eclipse中禁用未使用变量警告?