嘿我正在尝试将我创建的类对象传递给另一个类来读取该数据。我得到的错误是c2061:语法错误:标识符'播放器'
这是我的Player2.h
#pragma once
#include "DarkGDK.h"
#include "Input.h"
#include "Player.h"
class Player2{
public:
Player2();
void PlayerSetup();
void PlayerUpdate(Player& user1);
void PlayerHealthReset();
void Gravity();
float GetPosX();
bool CheckMatchEnd();
void PlayerFire(Player& user1);
void PlayerCheckHitEnemies(Player& user1);
private:
float Vx;
float Vy;
float PosX;
float PosY;
float Speed;
int Lives;
int Health;
//
int gravity;
bool playerJumping;
bool matchEnd;
bool playerIsFiring;
float playerBullet;
bool directionBullet;
};
我得到的错误是,即使我引入了播放器标题,也无法识别播放器。
这是Player.h
class Player{
public:
Player();
void PlayerSetup();
void PlayerUpdate(float PosX2);
void PlayerHealthReset();
float GetPosX();
float GetPosY();
void Gravity();
bool CheckMatchEnd();
void PlayerFire(float PosX2);
private:
float Vx;
float Vy;
float PosX;
float PosY;
float Speed;
int Lives;
int Health;
float playerBullet;
bool playerIsFiring;
int gravity;
bool playerJumping;
bool matchEnd;
bool directionBullet;
};
头文件中的所有相应代码都可以100%正常工作,因为我已经对其进行了测试。
答案 0 :(得分:1)
播放器在定义播放器2之前不编译,因此将class player
放在播放器2的声明之上将在播放到播放器2之前编译播放器。
class player;
class player2{
//...
};
- 同时 Hunter McMillen 建议考虑让玩家2从基类继承,也许player
定义所有玩家都会使用的标准方法(我不想窃取猎人的想法,如果他采取更深入的方法,我会让他回答这个问题。