【问题标题】:Trouble passing an object as a parameter将对象作为参数传递时遇到问题
【发布时间】:2012-12-03 01:42:00
【问题描述】:

嘿,我正在尝试将我制作的类对象传递给另一个类以读取该数据。我得到的错误是 c2061: syntax error: identifier 'Player'

这是我的 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 标头,它也无法识别 Player。

这是 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% 工作,正如我已经测试过的那样。

【问题讨论】:

  • 对我有用,尝试检查 Player.h 是否在包含路径中。
  • 文件在同一个目录吗?另外,为什么你有一个单独的 Player2 类?似乎您可以使用相同 Player 类的两个 instances
  • 第二个对我必须实现的精灵进行了一些更改。
  • 你确定播放器在播放器2之前编译吗?在播放器 2 类上方输入 class player
  • 好吧,没想到,谢谢

标签: c++ class object parameter-passing


【解决方案1】:

在 player2 定义之前播放器不会编译,因此将 class player 放在 player2 的声明上方将在移动到播放器 2 之前编译播放器。

class player;
class player2{
//...
}; 

-正如 Hunter McMillen 建议的那样,考虑让玩家 2 从基类继承,也许 player 定义了所有玩家都会使用的标准方法(我不想窃取猎人的想法,我'如果他愿意,可以让他通过更深入的方法发布有关此问题的答案)。

【讨论】:

    猜你喜欢
    • 2013-01-11
    • 2010-10-22
    • 2016-05-23
    • 2018-08-28
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    相关资源
    最近更新 更多