缺少类型说明符 - int假定静态成员声明后出错

时间:2018-06-10 17:54:09

标签: c++ visual-studio c++11 sdl-2

编译完代码后,我收到以下错误消息:

  

错误C4430缺少类型说明符 - 假设为int。注意:C ++没有   在第21行支持default-int

我真的不知道为什么AssetManager会检索到那个错误,因为我包含了所需的一切...... 我的代码:

game.hpp

#pragma once
#include "SDL.h"
#include "SDL_image.h"
#include <iostream>
#include <vector>
#include "AssetManager.hpp"

class Game {
public:
    Game();
    ~Game();

    void init(const char* title, int xpos, int ypos, int width, int height, bool fullscreen);

    void handleEvents();
    void update();
    bool running() { return isRunning; };
    void render();
    void clean();

    static AssetManager* assets;
////////
}

AssetManager.hpp

#pragma once
#include <map>
#include <string>
#include "TextureManager.hpp"
#include "Vector2D.hpp"
#include "ECS.hpp"

class AssetManager {
public:
    AssetManager(Manager* man);
    ~AssetManager();

    void AddTexture(std::string id, const char* path);
    SDL_Texture* GetTexture(std::string id);

private:
    Manager* manager;
    std::map<std::string, SDL_Texture*> textures;
};

1 个答案:

答案 0 :(得分:0)

我认为这是循环依赖的问题。尝试使用这样的AssetManager声明: - 类AssetManager;而不是#include&#34; AssetManager.hpp&#34;在game.hpp中