【问题标题】:Easy C Program Error [closed]Easy C程序错误[关闭]
【发布时间】:2017-02-19 10:45:36
【问题描述】:

我正在编写一个非常简单的程序来显示一个班级的模拟天气数据,但我不明白为什么 Visual Studio 总是给我一个错误

错误是温度通过它告诉我的方向:错误 C2440: '=' : cannot convert from 'double (__cdecl *)(void)' to 'double'

我迷路了,请帮忙

void DisplayWeatherData(void)
{
    double temperature,humidity,pressure,windspeed,direction,bt,bp,bw;

    temperature = GetTemperature;
    humidity = GetHumidity;
    pressure = GetPressure;
    windspeed = GetWindspeed;
    direction = GetWindDirection;
    bt = (temperature * 9.0 / 5.0) + 32.0;
    bp = pressure * KPATOINHG;
    bw = windspeed * KMTOMPH;


    printf("\nTemperature: %4.1lf C\tHumidity: %3.0lf%%\tPressure: %4.1lf kPa\n",temperature,humidity,pressure);
    printf("Windspeed: %3.0lf km/hr\tDirection: %3.0lf Degrees\n\n",windspeed,direction);

    printf("\nTemperature: %4.1lf F\tHumidity: %3.0lf%%\tPressure: %4.1lf inHg\n",bt,humidity,bp);
    printf("Windspeed: %3.0lf mph\tDirection: %3.0lf Degrees\n\n",bw,direction);


}

double GetTemperature(void)
{
return 25.1;
}
double GetHumidity(void)
{
return 55.4;
}   
double GetPressure(void)
{
return 101.7;
}   
double GetWindspeed(void)
{
return 15.5;
}   
double GetWindDirection(void)
{
return 320.0;
}

【问题讨论】:

  • 简单的拼写错误。GetTemperature --> GetTemperature()
  • temperature = GetTemperature; --> temperature = GetTemperature(); 等等。

标签: c visual-studio visual-studio-2012 compiler-errors


【解决方案1】:

你错过了括号:

temperature = GetTemperatur;
humidity = GetHumidity;
pressure = GetPressure;
windspeed = GetWindspeed;
direction = GetWindDirection;

应该是这样的:

temperature = GetTemperature();
.//same
.//same
.//same
direction = GetWindDirection();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 2016-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-11
    相关资源
    最近更新 更多