我之前多次遇到过这个错误并最终找到了解决方案,但是这个让我难过。 我有一个由'Player'继承的类'Mob'。 这是Mob.h:

#pragma once

#include "PlayState.h"

#include "OmiGame/OmiGame.h"

#include "resources.h"

class PlayState;

class Mob

{

private:

int frames;

int width;

int height;

int time;

sf::Texture textureL;

sf::Texture textureR;

Animation animationL;

Animation animationR;

AnimatedSprite sprite;

bool moveLeft;

bool moveRight;

bool facingRight;

public:

void createMob(std::string l, std::string r, int frames, int width, int height, int time, int x, int y);

void updateMob(omi::Game *game, PlayState *state);

void drawMob(sf::RenderTarget &target);

void setLeft(bool b) { moveLeft = b; }

void setRight(bool b) { moveRight = b; }

bool isLeft() { return moveLeft; }

bool isRight() { return moveRight; }

sf::Vector2f getPosition() { return sprite.getPosition(); }

};

这是Player.h,截至目前它非常简单:

#pragma once

#include "OmiGame/OmiGame.h"

#include "PlayState.h"

#include "Mob.h"

#include "resources.h"

class PlayState;

class Mob;

const int playerFrames = 8;

const int playerWidth = 16;

const int playerHeight = 48;

const int playerTime = 50;

const int playerX = 200;

const int playerY = 200;

class Player : public Mob

{ //the error occurs at this line//

public:

Player();

void update(omi::Game *game, PlayState *state);

void draw(sf::RenderTarget &target);

};

并且,正如您可能猜到的,这是错误:

error C2504: 'Mob' : base class undefined player.h

我有前锋宣布的暴徒,我希望修复任何循环依赖。 请有人帮帮我吗?

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐