C++ 错误:"被调用的对象类型'int'不是函数或函数指针"

C++ Err: 'Called object type 'int' is not a function or function pointer'

本文关键字:函数 指针 int 类型 错误 调用 对象 C++      更新时间:2023-10-16

尝试在c++中编写一个二次方程计算器,并且我一直遇到这个错误。看看你是否能找出原因:(错误发生在'g ='行)

#include <cmath>
#include <iostream>
using namespace std;
int main(){
    int a,b,c,d,e,f,g;
    cout<<"Enter 'A' value:";
    cin>>a;
    cout<<"Enter'B' value:";
    cin>>b;
    cout<<"Enter 'C' value:";
    cin>>c;
    e = ((b * b) - (4 * (a*c)));
    d = sqrt(e);
    f = ((-b) + d) / (2 * a);
    g = ((-b) - d) / (2 * a);
    if(d > 0){
        cout<<"One solution is: "<<f<<endl;
        cout<<"The other solution is: "<< g <<endl;
    }
    else if(d == 0){
        cout<<"Your 1 solution is: "<< f <<endl;
    }
    else{
        cout<<"No real solutions!"<<endl;
    }
}

任何帮助都是感激的!

平方根函数将返回浮点值,因此您应该使用像double这样的浮点变量来存储结果。

#include <cmath>
#include <iostream>
using namespace std;
int main(){
    int a,b,c,e;
    double d,f,g;
    cout<<"Enter 'A' value:";
    cin>>a;
    cout<<"Enter'B' value:";
    cin>>b;
    cout<<"Enter 'C' value:";
    cin>>c;
    e = ((b * b) - (4 * (a*c)));
    d = sqrt(e);
    f = ((-b) + d) / (2 * a);
    g = ((-b) - d) / (2 * a);
    if(d > 0){
        cout<<"One solution is: "<<f<<endl;
        cout<<"The other solution is: "<< g <<endl;
    }
    else if(d == 0){
        cout<<"Your 1 solution is: "<< f <<endl;
    }
    else{
        cout<<"No real solutions!"<<endl;
    }
}

问题是平方根函数返回一个浮点小数,而您试图将其与整数组合。例如,1 - 2.0。这两个值都必须是浮点小数,因此您应该在第5行将"int"改为"double"。