Как избежать #include в заголовочных файлах, когда форвардное объявление вызывает ошибку неполного типа?Как избежать #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();
};
Почему вы спрашиваете, как избежать этого, когда * не * избегая этого ответа? – EJP