У меня есть следующий пример кода фрагмент кода из main.c, который вызывает 3 функции, с 3 заголовками - что дает мне предупреждения по неизвестным причинам:предупреждение: неявное объявление функции - порядок включения вопроса?
#include "header1.h"
#include "header2.h"
#include "header3.h"
int main()
{
function1(); // this is from header1
function2(); // this is from header2
function3(); // this is from header 3
}
В основном, после использования gcc функции 2 & 3 выдадут предупреждение. Тем не менее, после перегруппировки кода что-то вроде этого:
#include "header3.h"
#include "header1.h"
#include "header2.h"
int main()
{
function1(); // this is from header1
function2(); // this is from header2
function3(); // this is from header 3
}
Затем он дал мне предупреждение, что функции 1 & 2 неявные. Что я здесь делаю неправильно?
Пожалуйста обеспечивает [mcve]. Нам нужно увидеть точное содержимое файлов заголовков. Вероятно, у вас есть ошибка в одном/каждом из них (с использованием того же include guard - это моя догадка). – kaylum
Такие ошибки возникают, если заголовок неправильно включает зависимые заголовки или использует неясные макросы/условную компиляцию. См. [Ask], укажите [mcve]. – Olaf
@kaylum здесь один из заголовочных файлов, остальные последуют этому примеру '#ifndef __REZON_FUNCTIONS__ #define __REZON_FUNCTIONS__ недействительным function1(); #endif ' – rezon