【发布时间】:2022-01-20 09:42:33
【问题描述】:
我想从一个布尔函数返回两个浮点变量,虽然我不知道该怎么做。我应该在main中写什么?这是我的代码。
bool triwnymo(int a, int b, int c, float& x1, float& x2){
int d;
d=diak(a,b,c);
if(d>0){
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
return x1,x2;
return true;
}else if(d==0){
x1=-b/(2*a);
x2=x1;
return x1,x2;
return true;
}else{
return false;
}
}
【问题讨论】:
-
您有几个选择 - 也许这可以回答您的问题:stackoverflow.com/questions/321068/… ?
-
这可能对你来说很有趣:isocpp.github.io/CppCoreGuidelines/…
-
您确定要返回这些值吗?从声明看来,您希望返回一个
bool并覆盖x1和x2的值。我的意思是,如果不将它们用作外参数,为什么要通过非常量引用传递它们? -
当函数返回时,值在您作为
x1和x2传递的变量中。 (我怀疑有人给了你原型,并且认为参考参数并不重要。) -
声明
return x1,x2;不会做你想做的事。相反,它将忽略x1并返回如果将x2转换为bool会得到的结果。
标签: c++ function variables return-value