【warning C4715: “poly”: 不是所有的控件路径都返回值】怎么解决啊,求教。

yuan616617211 2012-12-03 09:44:29
#include<iostream>
using namespace std;
float poly(float x,int n);
int main()
{
float x;int n;
cout<<"阶勒让德多项式来两个数试试:"<<endl;
cin>>x;
cin>>n;
poly(x,n);
return 0;
}
float poly(float x,int n)
{
if(n=0)
return 1;
else
if(n=1)
return x;
else
if(n>1)
return ((2*n-1)*x*poly(x,(n-1))-(n-1)*poly(x,(n-2)))/n;
}

如上是代码,编译后会有【warning C4715: “poly”: 不是所有的控件路径都返回值】的警告,请大神们指教。
...全文
452 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuan616617211 2012-12-04
  • 打赏
  • 举报
回复
引用 5 楼 turingo 的回复:
目前你至少可以编译通过了啊,算法是否正确要看你的思路了。 引用 4 楼 yuan616617211 的回复: 运行后没有返回值,是怎么回事?
恩解决了,谢谢。
图灵狗 2012-12-04
  • 打赏
  • 举报
回复
目前你至少可以编译通过了啊,算法是否正确要看你的思路了。
引用 4 楼 yuan616617211 的回复:
运行后没有返回值,是怎么回事?
yuan616617211 2012-12-04
  • 打赏
  • 举报
回复
运行后没有返回值,是怎么回事?
图灵狗 2012-12-04
  • 打赏
  • 举报
回复
你不加unsigned也行,但是必须保证所有的条件都有返回值,用unsigned的意思是你不需要考虑n<0的条件,这是你的Code中漏掉的路径。
引用 2 楼 yuan616617211 的回复:
引用 1 楼 turingo 的回复:当n<0的时候,没有相应的返回值,如果不处理的话,你可以直接用unsigned类型: C/C++ code ? 1234567891011121314151617181920212223 #include<iostream> using namespace std; float poly(float x……
yuan616617211 2012-12-04
  • 打赏
  • 举报
回复
引用 1 楼 turingo 的回复:
当n<0的时候,没有相应的返回值,如果不处理的话,你可以直接用unsigned类型: C/C++ code ? 1234567891011121314151617181920212223 #include<iostream> using namespace std; float poly(float x,unsigned int n); int main() { ……
为什么要把n设为unsigned?
图灵狗 2012-12-03
  • 打赏
  • 举报
回复
当n<0的时候,没有相应的返回值,如果不处理的话,你可以直接用unsigned类型:

#include<iostream>
using namespace std;
float poly(float x,unsigned int n);
int main()
{
    float x;unsigned int n;
    cout<<"阶勒让德多项式来两个数试试:"<<endl;
    cin>>x;
    cin>>n;
    poly(x,n);
    return 0;
}
float poly(float x,unsigned int n)
{
    if(n=0)
        return 1;
    else
        if(n=1)
            return x;
        else
            return ((2*n-1)*x*poly(x,(n-1))-(n-1)*poly(x,(n-2)))/n;
}

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧