首页 > 解决方案 > 如何修复“函数的隐式声明”

问题描述

我正在用 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);

你有什么想法可以解决我的问题吗?

标签: cheader-files

解决方案


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

  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"

推荐阅读