编译器的判断逻辑是是否在所有的分支中都返回了值,即if不成立时也必须返回值。编译器认为如果三个if都不成立则此函数可能没有返回值,故报错。需要将第三个if改为else或者去掉if体直接return。
定义一个比较的函数compare,出现问题warning C4715: “FunCompare”: 不是所有的控件路径都返回值 1intFunCompare(constFraction &f1,constFraction &f2)2{3doublenumber1,number2;4number1=f1.GetNum()/f1.GetDenom();5number2=f2.GetNum()/f2.GetDenom();6if(number1 ==number2)7{return0;}8elsei...
using namespace std; //这里加上 。。。int main() //void main() 改成int 。。。cin>>xuhao;return 0; //最后这里加上 //其它没变 你试试 不知道干嘛整个程序就是传不上去 参考资料:自己改的 百度是什么意思 每次都只能传上一小段 把后半段文字丢掉 ...
编译器并不是这样判断的,编译器的判断逻辑是你是否在所有的分支中都返回了值,即if不成立时也必须返回值。编译器认为如果三个if都不成立则此函数可能没有返回值,故报错。需要将第三个if改为else或者去掉if体直接return。