Квадратичная формула — ошибка C2064: термин не оценивает функцию, принимающую 1 аргумент

Я получил эту ошибку:

Ошибка 1 ошибка C2064: термин не оценивает функцию, принимающую 1 аргумент

онлайн:

discr=((pow(b, 2))-4(a*c));

Код для квадратичной формулы программы:

#include "stdafx.h"#include <iostream>
#include "math.h"using namespace std;
float a, b, c, d,x1, x2, discr;
int ec2g(float a, float b, float c, float & x1, float & x2);
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"'a'"<<endl;
cin>>a;
cout<<"'b'"<<endl;
cin>>b;
cout<<"'c'"<<endl;
cin>>c;
if (ec2g(a, b, c, x1, x2)){
cout<<x1<<x2<<endl;
}
else{
cout<<"No solution"<<endl;
}
return 0;
}

int ec2g(float a, float b, float c, float & x1, float & x2){
int solreal=0;
discr=((pow(b, 2))-4(a*c));
if(discr>0.0){
solreal=1;
x1=(-b+sqrt(discr)/(2.0*a));
x2=(-b-sqrt(discr)/(2.0*a));
}
return solreal;
}

Любая идея, как я могу это исправить?

0

Решение

Вы забыли умножить. И поэтому компилятор подумал, что это похоже на вызов функции.

4*(a*c)
^

Как примечание, вам не нужно pow или. Просто делать:

discr = b * b - 4.0f * a * c;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]