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

为什么我的安托因蒸气压计算C++代码无法正常运行?

问题根因

AntParam成员函数的形参名和类的私有成员变量名完全重名,C++中局部作用域变量优先级更高,你写的A = A这类赋值操作实际是把形参值赋给形参本身,完全没有修改类的成员变量。类的A/B/C/Tsat四个成员始终是未初始化的随机值,自然计算结果不会随输入参数变化,也不符合预期。

修复方案

二选一即可:

  • 用this指针明确指向类成员变量
void AntParam(double A, double B, double C, double Tsat){
    this->A = A;
    this->B = B;
    this->C = C;
    this->Tsat = Tsat;
}
  • 修改形参名避免重名(更推荐,可读性更高)
void AntParam(double in_A, double in_B, double in_C, double in_Tsat){
    A = in_A;
    B = in_B;
    C = in_C;
    Tsat = in_Tsat;
}
效果验证

修复后传入你给出的水的安托因参数和100℃的饱和温度,计算结果应为760torr左右,符合标准大气压下水的沸点饱和蒸气压预期,调整Tsat数值时输出也会同步正常变化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:54:04