我正在写这个函数定义.
#include<iostream>
int abs_fun(int x);
int main()
{
int i =abs_fun(0);
std::cout<<i;
return 0;
}
int abs_fun(int x)
{
if (x<0)
return -x;
else if(x>=0) //warning
return x;
}
Run Code Online (Sandbox Code Playgroud)
我正在编译代码g++ -Wall -Wconversion -Wextra p4.cpp -o p4并在结束时收到警告abs_fun()因为warning: control reaches end of non-void function [-Wreturn-type] }如果我只是写else而不是else if,那么警告就会消失.有什么建议警告出现?
因为编译器不够智能(或者只是不费心去尝试)才能理解其中一个returns总是到达.
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |