Ciao a tutti,
sto avendo dei problemi con un programmino.
sto usando code::blocks e ho un main.cpp, player.h e player.cpp
l'errore lo ricevo nel file player.cpp, per cui vi posto il .cpp e il .h
#ifndef PLAYER_H
#define PLAYER_H
class Player
{
public:
Player(int ap);
Player(int h, int s, int ap);
void setHealth(int h);
void setShield(int s);
void setAttackPower(int ap);
int getHealth() const;
int getShield() const;
int getAttackPower() const;
private:
int health;
int shield;
int attackPower;
};
#endif // PLAYER_H
player.cpp
#include "..\include\Player.h"
Player::Player(int ap)
: health(100), shield(100), attackPower(ap)
{
}
Player::Player(int h, int s, int ap)
: health(h), shield(s), attackPower(ap)
{
}
void setHealth(int h) { health = h; }
void setShield(int s) { shield = s; }
void setAttackPower(int ap) { attackPower = ap; }
int getHealth() const { return health; }
int getShield() const { return shield; }
int getAttackPower() const { return attackPower; }
la struttura delle cartelle (src e header) è quella di default di code::blocks.
l'errore mi viene dato nel file player.cpp e mi dice che le variabili health, shield e attackPower (nelle funzioni set e get) non sono state dichiarate in this scope. Mentre nei costruttori, il compilatore le accetta. quale errore ho commesso?