超级初学者,不知道关于错误C2027

时间:2018-09-09 03:46:55

标签: c++

三天前我刚刚开始学习Abotu的C ++ / SDL,在学习视频教程之后,我一直在不停地学习。我全神贯注,我无法解决“使用未定义类型”的问题,我完全按照教程操作,仔细检查了所有语法,只是不知道出了什么问题。

我已经搜索了这个论坛,很抱歉,但是我不明白其中的解释或发生的事情

这是代码,第26行具有ERror C2027:使用未定义类型“ AssetManager”;

#pragma once
#include "ECS.h"
#include "../Vector2D.h"
#include "../Game.h"
#include "../TextureManager.h"
#include "../AssetManager.h"


class TileComponent : public Component
{
public:

    SDL_Texture* texture;
    SDL_Rect srcRect, destRect;
    Vector2D position;

    TileComponent() = default;

    ~TileComponent()
    {
        SDL_DestroyTexture(texture);
    }

    TileComponent(int srcX, int srcY, int xpos, int ypos, int tsize, int tscale, std::string id)
    {
        texture = Game::assets->GetTexture(id);

        position.x = xpos;
        position.y = ypos;

        srcRect.x = srcX;
        srcRect.y = srcY;
        srcRect.w = srcRect.h = tsize;

        destRect.x = xpos;
        destRect.y = ypos;
        destRect.w = destRect.h = tsize * tscale;

    }

    void update() override
    {
        destRect.x = position.x - Game::camera.x;
        destRect.y = position.y - Game::camera.y;
    }

    void draw() override
    {
        TextureManager::Draw(texture, srcRect, destRect, SDL_FLIP_NONE);
    }
};

0 个答案:

没有答案