0

我收到一条错误消息,指出表达式必须具有 (pointer-to-) 函数类型。我究竟做错了什么?我刚开始编码,我知道我很烂,哈哈。我不明白如何获得工作距离的公式。

#include <cmath>    //headerfile
#include <iomanip>
#include <iostream>

    enter code here

using namespace std;

int main()
{
    double d;
    double t;
    double g;
    char choice ='y';



    //output numbers to console


    while (choice == 'y' || choice =='Y')
    {
        cout<<"Please input a value for the time"<< endl<<endl;
        cin>>t;

        g = 32;
        d = (g)(t*t);

        if (t<0)
            cout<<"You cannot have a negative time"<<endl<<endl;

        else


        cout<<setw(8)<<fixed<<setprecision(2)<<"\n""The distance the ball has fallen is "<<d<<" feet"<<endl<<endl;

        cout<<"Would you like to run this again? y for yes, any other key for no."<< endl<<endl;
        cin>>choice;
        cout<<endl;


    }
system ("Pause");
return 0;

}
4

2 回答 2

0

如果 (g)(t*t) 应该是一个正常的乘法运算,那么它应该是 g*t*t。

于 2013-09-29T22:58:43.323 回答
0

在您的代码中,g是一个双精度数,但您使用它就好像它是一个指向函数 ( d = (g)(t*t);) 的指针。如果您真正想要的是乘以t*tg那么您忘记了*

d = (g)*(t*t);
于 2013-09-29T22:59:20.633 回答