Я пишу программу на языке c, используя библиотеку curses, и хочу создать некоторые структуры, отражающие пользовательский интерфейс моего приложения.
Вот мой app.c
файл
#include <stdlib.h>
#include <stdio.h>
#include "screen.h"
int main() {
struct screen scr = {
.win1 = {
.title = "win1"
},
.win2 = {
.title = "win2"
}
};
}
вот screen.h
#ifndef SCREEN_H
#define SCREEN_H
#include "window.h"
struct screen {
struct window win1;
struct window win2;
struct window *focused;
};
#endif
а вот window.h
#ifndef WINDOW_H
#define WINDOW_H
#include "screen.h"
struct window {
char *title;
void (*handle_key_event)(struct screen*);
};
#endif
Мой метод дескриптора структуры окна должен получить ссылку на экран, чтобы иметь возможность изменять сфокусированное окно в некоторых конкретных случаях. Но когда я компилирую это, я получаю предупреждение
window.h:8:34: warning: its scope is only this definition or declaration, which is probably not what you want
потому что он не видит экранное объявление. Как это исправить?