wzsun
wzsun

Reputation: 425

Trouble passing an object as a parameter

Hey I'm trying to pass a class object that I have made into another class to read that data. The error I'm getting is c2061: syntax error: identifier 'Player'

This is my 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;
};

And the error I'm getting is that It can't recognize Player even though I brought in the Player header.

Here is 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;
};

All the respective code within the header file works 100%, as I've tested it.

Upvotes: 2

Views: 123

Answers (1)

Syntactic Fructose
Syntactic Fructose

Reputation: 20084

player does not compile before player2 is defined, so placing class player above your player2's declaration will compile player BEFORE moving onto player 2.

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

-Also as Hunter McMillen suggested think about making player 2 inherit from a base class, maybe player that defines standard methods all players would use(I dont want to steal hunter's idea, i'll let him post answer about this if he pleases with a more in depth approach).

Upvotes: 1

Related Questions