C++ Странная ошибка циклической зависимости

Когда я пытаюсь скомпилировать мой код, он выдает 66 ошибок, и все ошибки примерно mat4.h ошибки (повторяющиеся строки). Я пытался включить охранников, #pragma once,

Код
mat4.h

#pragma once

#include "vec3.h"
#include "vec4.h"
#include "maths_func.h"

namespace sparky { namespace maths {

   struct mat4
   {
        union
        {
            float elements[4 * 4];
            vec4 columns[4];
        };

        mat4();
        mat4(float diagonal);

        static mat4 identity();
        mat4& multiply(const mat4& other);

        friend mat4 operator*(mat4 left, const mat4& right);
        mat4& operator*=(const mat4& other);

        mat4& Invert();

        static mat4 orthographic(float left, float right, float bottom, float top, float near, float far);
        static mat4 perspective(float fov, float aspectRatio, float near, float far);

        static mat4 translation(const vec3& translation);
        static mat4 rotation(float angle, const vec3& axis);
        static mat4 scale(const vec3& scale);
    };
} }

Файл mat4.cpp слишком большой, поэтому я выложу его на pastebin. https://pastebin.com/FYSZV9ZX

1 ответ

Решение

Ваши заголовки vec3 и vec4 включают mat4?
Если да и это не нужно, то удалите это.

Другие вопросы по тегам