表达式不能用作函数

Expression cannot be used as a function

本文关键字:函数 不能 表达式      更新时间:2023-10-16

第23行,它说表达式不能用作函数。我不明白这是什么意思。我不确定它要求我改变什么,希望得到一些帮助。起初,我认为它可能是我在头文件中预定义的M_PI常量,我将其更改为PI并直接在代码中定义它,但这不起作用。

#include "std_lib_facilities_4.h"
int main() {
    const double PI = 3.141592653589793238463;
    //formula for area of a circle is pi*r^2    
    //area of a 14" circle is 153.94"
    cout << "Enter cord length in inches: nn";
    double chord_length;
    while(cin >> chord_length) {
        double radius = 7.0;
        double angle_of_sect = (asin((chord_length / 2.0) / radius)) * 2.0;
        double area_of_sect = (angle_of_sect / 360.0(PI * radius));
        double area_of_seg = area_of_sect - (((chord_length / 2.0) * radius) * 2.0);
        double perc_of_pizza = (100.0 * area_of_seg) / 153.94;

        if(chord_length > 14) {
            cout << "Chord Length Too Long n";
        } else if(chord_length <= 0) {
            cout << "Chord Length Too Small n";
        }
        cout << "nSegment area is equal to: " << perc_of_pizza << ".n";
    }
    return 0;
}

在数学中,360.0(PI * radius)显然是乘法。

但是在c++中,这显然是试图调用360.0作为一个函数——这是注定要失败的。a(b)总是一个函数调用。

你需要明确你的操作符:

360.0 * (PI * radius)

您忘记了*标志

(angle_of_sect / 360.0(PI * radius));

应该

(angle_of_sect / 360.0*(PI * radius));

试图调用函数360.0,而这个函数显然不是一个函数

In 23, Instead

(angle_of_sect / 360.0(PI * radius));

将是

(angle_of_sect / 360.0*(PI * radius));

你忘了给*符号