Ассоциация классов в C ++ не работает

У меня есть два класса, Треугольник и Актив. У актива есть много треугольников, и я хочу, чтобы каждый треугольник знал, какому активу он принадлежит.

Все работало нормально, когда в Asset были только треугольники, но когда я указывал Triangle указатель на Asset, внезапно у меня возникало что-то вроде 100 ошибок, и Visual Studio не распознавала мой класс Triangle. Я предполагаю, что что-то не так с моими включениями, но я понятия не имею, что.

Вот мой заголовок Актива:

#ifndef ASSET_H
#define ASSET_H

#include <BoundingSphere.h>

class Triangle;

class Asset
{
public:
Asset::Asset(std::string assetOBJFile);

GLuint vertexArrayID;
GLuint programID;

GLuint vertexbuffer;

std::vector<GLuint> faces;
std::vector<glm::vec3> vertices;
std::vector<Triangle> originalTriangles;
std::vector<Triangle> triangles;

BoundingSphere boundingSphere;

glm::vec3 velocity;

double lastTime;
glm::vec3 position;
private:
void loadOBJ(const char* path);
};

#endif

и мой заголовок треугольника:

#ifndef TRIANGLE_H
#define TRIANGLE

class Asset;

class Triangle
{
public:
glm::vec3 _vertex0, _vertex1, _vertex2;
Asset* _asset;

Triangle(glm::vec3 vertex0, glm::vec3 vertex1, glm::vec3 vertex2, Asset* asset);
Triangle(glm::vec3 vertex0, glm::vec3 vertex1, glm::vec3 vertex2);
Triangle(glm::vec4 vertex0, glm::vec4 vertex1, glm::vec4 vertex2, Asset* asset);
private:
};

#endif

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]