Как избежать #include в файлах заголовков, когда предварительное объявление вызывает ошибку неполного типа?
Это мой заголовочный файл ray.h
. Когда я реализую форвардное объявление, Vector
превращается в неполный тип. В этом случае мне придется использовать #include в файле заголовка?
#include "vector.h"
struct Ray {
Vector position, direction; // error: incomplete type when it uses forward declaration
Ray();
Ray(Vector position, Vector direction);
~Ray();
};