编译完代码后,我收到以下错误消息:
错误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;
};
答案 0 :(得分:0)
我认为这是循环依赖的问题。尝试使用这样的AssetManager声明: - 类AssetManager;而不是#include&#34; AssetManager.hpp&#34;在game.hpp中