如何解决“函数的隐式声明”

时间:2019-05-31 00:00:51

标签: c header-files

我正在使用C语言的GUI库进行学校作业,但是头文件存在问题(我认为)。 我在“ draw.c”文件中有一个函数“ rectangle_coordinates”,带有足够的“ draw.h”头文件,在文件“ widget_frame.c”中,我在包含“ draw.h”头之后调用了此函数文件。 但是我仍然收到警告:

./src/ei_widget_frame.c:40:5: warning: implicit declaration of function 'rectangle_coordinates' [-Wimplicit-function-declaration]
     rectangle_coordinates(&frame_to_draw, &xmin, &xmax, &ymin, &ymax);

您有解决我问题的想法吗?

1 个答案:

答案 0 :(得分:1)

至少,应验证和纠正以下所有内容(如果需要)。

  1. 函数名称在所有地方都必须相同(检查拼写错误)。
  2. 返回类型在所有地方都必须相同。
  3. 所有地方的参数列表必须相同。

draw.h中,您应该具有以下内容:

extern /type/ rectangle_coordinates(&frame_to_draw, &xmin, &xmax, &ymin, &ymax);

其中:

  • / type /是函数的返回类型。
  • 需要正确编写参数列表(我只是从提供的警告消息中复制/粘贴了)。

draw.cei_widget_frame.c中,您都应具有:

#include "draw.h"