Я не на 100% понимаю, как компилятор читает файлы заголовков, поэтому я хотел знать, почему это дает ошибку компилятора и не работает:
#ifndef FOO_H
#define FOO_H
#include "central.h"
class Foo
{
Oof var;
}
#endif
#ifndef OOF_H
#define OOF_H
#include "central.h"
class Oof {}
#ifndef CENTRAL_H
#define CENTRAL_H
#include "foo.h"
#include "oof.h"
При компиляции выдает ошибку, что oof не называет тип. Насколько я понимаю, это потому, что они продолжают включать друг друга?
Кроме этого, просто делать #include "oof.h"
в Foo единственный/лучший способ сделать то, что я пытаюсь сделать здесь?