Как исправить "неявное объявление функции" - PullRequest
0 голосов
/ 31 мая 2019

Я работаю над библиотекой GUI на языке C для школьной работы, но у меня проблема с заголовочными файлами (я думаю). У меня есть функция «rectangle_coordinates» в файле «draw.c», с соответствующим заголовочным файлом «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 Ответ

1 голос
/ 31 мая 2019

Как минимум, все вещи, указанные ниже, должны быть проверены и исправлены (при необходимости).

  1. Имя функции должно быть одинаковым во всех местах (проверьте на опечатки).
  2. Тип возврата должен быть одинаковым во всех местах.
  3. Список параметров должен быть одинаковым во всех местах.

В draw.h у вас должно быть что-то вроде:

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

где:

  • / type / - тип возвращаемого значения функции.
  • список параметров должен быть написан правильно (я только что сделал копирование / вставку из предоставленного предупреждения).

В обоих draw.c и ei_widget_frame.c вы должны иметь:

#include "draw.h"
...