错误:表达式列表在初始化器[-fpermissive] Double Paycalc(p,yir,y)中被视为复合表达式

error: expression list treated as compound expression in initializer [-fpermissive] double payCalc(P, yir, y);

本文关键字:表达式 yir 复合 Paycalc 初始化 列表 Double -fpermissive 错误      更新时间:2023-10-16
 double  payCalc(double P,double  yir, double  y)
 {
    double  mir, a, b, c, d, e, f, Payment;
    mir = yir/1200;
    a = 1+mir;
    b = 1/a;`?`enter code here`
    c = 12*y;
    d = pow(b,c);
    e = 1-d;
    f = P*mir;":?
 return Payment;
  }
   int main ()
 {
    cout<<fixed<<setprecision(2); //setting 
    double P, yir, y;
    cin>>P>>yir>>y;
    double payCalc(P, yir, y);
    cout<<"Principal: "<<P<<" Interest Rate: "<<yir<<" Years: "<<y<<
    " Payment: "<<payCalc<<endl;
   }

计算房屋付款,无法摆脱上述错误。工资委员会正在计算付款,而int main()将瓦巴莱斯插入paycalc

以下代码行是声明,而不是函数调用

double payCalc(P, yir, y);

编译器认为您要声明具有double类型的变量payCalc并初始化。由于您有一个表达式列表,而不是单个值或单个表达式,因此编译器向错误投诉:

error: expression list treated as compound expression in initializer [-fpermissive]

如果要使用参数 P, yir, y调用函数payCalc,请删除double

payCalc(P, yir, y);

注意:您发布的代码中有流浪字符。