You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++如何在sol_ec_II函数中获取delta函数返回值并使用

解决方法

你需要定义一个变量承接delta函数的返回值,后续所有需要用到判别式的位置直接使用这个变量即可,错误写法里直接把函数名delta当数值用是语法不允许的。

修正后的sol_ec_II函数代码:

void sol_ec_II(double a, double b, double c) {
    // 调用delta函数,把返回的判别式结果存入delta_val变量
    double delta_val = delta(a, b, c);
    if (delta_val < 0) {
        cout << endl << "Polinomul NU are solutii.";
    }
    else {
        double sqrt_delta = sqrt(delta_val);
        // 补充原代码遗漏的除以2a步骤,符合一元二次方程求根公式 [-b±√Δ]/(2a)
        double x1 = (-b - sqrt_delta) / (2 * a);
        double x2 = (-b + sqrt_delta) / (2 * a);
        // 可选:输出两个根的结果
        cout << endl << "x1 = " << x1 << ", x2 = " << x2;
    }
}

原理说明:

  • 带返回值的函数执行后,返回的结果是临时值,如果不主动赋值给变量保存,执行完就会被销毁,无法在后续逻辑中复用
  • 代码里的delta是函数的标识符,不能直接当作数值参与比较、运算,必须拿到它的返回值才能使用

内容的提问来源于stack exchange,提问作者user17397717

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 00:57:03