编译出现不能匹配“operator-”
-
尝试编译简单的成核模型,出现错误:
C:134:54: error: no match for ‘operator-’ (operand types are ‘Foam::UPtrList<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> >’ and ‘const volScalarField {aka const Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>}’) popBal_.eta(i, pi/6.0*pow3(dNuc_))*KB_*pow((Y-Csat_),EB_);
不知道是我定义的参数量纲不匹配,还是返回数据类型不匹配,请大神指点一下。感谢!
-
-
@李东岳 是的李老师,of8中的PBE,加一个成核模型,就是Y-Csat_这一项出的问题,编译之后出现红色标记,出现上述错误。
-
这里的报错解读如下:
Y-Csat
里边的 Y 是一个 List场,用它减一个场,当然会出错。你需要对Y
取下标,获取你需要的那个分量。 -
@浪迹天大 十分感谢!但是如何获取我需要的分量?初学请指教一下
,或者哪里可以查到?
-
@Henry-Zhou 我的意思很简单,就是需要用类似这样的操作:
Y[0]
,你需要找到你自己需要的那个下标啊。 -
@浪迹天大 非常感谢!今天仔细看了下,终于搞定了。
2021年1月17日 05:37
8/8
2021年1月20日 14:54