出现错误:“错误:‘call_celsius’的类型冲突”和“注意:‘call_celsius’的先前隐式声明在这里”

Posted

技术标签:

【中文标题】出现错误:“错误:‘call_celsius’的类型冲突”和“注意:‘call_celsius’的先前隐式声明在这里”【英文标题】:Getting errors: "error: conflicting types for ‘call_celsius’ " and "note: previous implicit declaration of ‘call_celsius’ was here" 【发布时间】:2014-02-08 02:43:51 【问题描述】:

我无法在 gcc 中编译此代码。我尝试将 call_celsius 更改为计算以及将其从大写更改为小写。我不确定是不是因为我没有声明一个我认为不是这种情况的变量,还是我调用函数出错了。

/* Homework 1 Question 2 */

/* Purpose: Takes a depth (in kilometers) inside the earth */
/* as input data; Computes and displays the temperature at */
/* depth in degrees Celsius and degrees Fahrenheit.        */

#include <stdio.h>

int main(void)


/* Declare Variables */

double depth;
double Celsius;
double Fahrenheit;

/* Obtain Data */

printf("Please enter depth(in kilometers) inside the Earth:  ");
scanf("%lf",&depth);

/* Calculate */

Celsius = call_celsius(depth);
Fahrenheit = call_fahrenheit(Fahrenheit);

/* Output */

printf("The temperature at %lf kilometers is %lf degrees Celsius and %lf degrees       Fahrenheit",depth, Celsius, Fahrenheit);

return 0;


double call_celsius(double depth)

return((10 * depth) + 20);


double call_fahrenheit(double Celsius)


return((1.8 * Celsius) + 32);

这些是我收到的错误

homework1question2.c:35:8: error: conflicting types for ‘call_celsius’
double call_celsius(double depth)
    ^
homework1question2.c:25:11: note: previous implicit declaration of ‘call_celsius’ was here
Celsius = call_celsius(depth);
       ^
homework1question2.c:40:8: error: conflicting types for ‘call_fahrenheit’
double call_fahrenheit(double Celsius)
    ^
homework1question2.c:26:14: note: previous implicit declaration of ‘call_fahrenheit’ was    here
Fahrenheit = call_fahrenheit(Fahrenheit);

【问题讨论】:

【参考方案1】:

在使用 call_celsiuscall_fahrenheit 之前,您没有声明它们。添加函数原型或声明和定义函数。以下是前向声明的示例:

double call_celsius(double depth);
double call_fahrenheit(double Celsius);
int main(void) 

【讨论】:

呜呜呜!谢谢你!不知道您还需要声明这些变量...实际上不知道它们是自己的变量。感谢您的帮助。编译并顺利运行。 :)

以上是关于出现错误:“错误:‘call_celsius’的类型冲突”和“注意:‘call_celsius’的先前隐式声明在这里”的主要内容,如果未能解决你的问题,请参考以下文章

为啥Debug无错误Release出现错误?

WIN2008 R2 组策略出现错误

在Ubuntu下,改为国内软件源,出现错误如图?

浏览器出现错误怎么办

电脑上网有个网站进去后出现错误523怎么弄?

SQL登陆出现错误,用SQL身份登陆没问题,用windows身份登陆就出现下面的错误。求解!!!