Code:
#include "stdafx.h"
#include "Player.h"
#include <iostream>
#include <string>
using namespace std;
int main(){
string name;
Player PlayerInfo;
cout <<"Enter a name"<<endl;
cin >> name;
//PlayerInfo.setPlayerName(name);
system("pause");
return 0;
}
I get an error saying 'name' : undeclared identifier. Also, I get an error for any class member function that uses a string as either a return type or a parameter.
Here is the code for my class.
Code:
class Player{
public:
void setPlayerName(string);
string getPlayerName();
void setMaxHP(int newHP);
int getMaxHP();
void setCurrentHP(int value);
int getCurrentHP();
void setCurrentMP(int value);
int getCurrentMP();
void setIntel(int newIntel);
int getIntel();
void SetGold(int newGold);
int getGold();
void setStr(int newstr);
int getStr();
void setAgil(int newAgil);
int getAgil();
void setAP(int newAP);// AP = Attack power
int getAP();
void setXP(int newXP);
int getXP();
void setSP(int newSP); //SP = spell power
int getSP();
void setLevel(int newLevel);
int getLevel();
private:
int MaxHP;
int MaxMP;
int currentHP;
int currentMP;
int gold;
int str;
int intel;
int agil;// agility
int AP; // attack power
int SP; // spell power
int XP;
int level;
int PlayerState;
string PlayerName;
string Spells[14];
string Abilities[11];
string castedSpell;
string usedAbility;
};
void Player::setPlayerName(string name){
name = PlayerName;
}
string Player::getPlayerName(){
return PlayerName;
}
int Player::getAgil(){
return agil;
}
int Player::getLevel(){
return level;
}
int Player::getMaxHP(){
return MaxHP;
}
int Player::getStr(){
return str;
}
int Player::getXP(){
return XP;
}
int Player::getGold(){
return gold;
}
int Player::getCurrentHP(){
return currentHP;
}
int Player::getIntel(){
return intel;
}
int Player::getSP(){
return SP;
}
int Player::getAP(){
return AP;
}
int Player::getCurrentMP(){
return currentMP;
}
int Player::getIntel(){
return intel;
}
int Player::getAgil(){
return agil;
}
void Player::setMaxHP(int newMaxMP){
newMaxMP = MaxMP;
}
void Player::setAgil(int newAgil){
newAgil = agil;
}
void Player::setLevel(int newLevel){
newLevel = level;
}
void Player::setMaxHP(int newMaxHP){
newMaxHP = MaxHP;
}
void Player::setStr(int newstr){
newstr = str;
}
void Player::setXP(int newXP){
newXP = XP;
}
void Player::SetGold(int newGold){
newGold = gold;
}
void Player::setCurrentHP(int newHealth){
newHealth = CurrentHP;
}
void Player::setIntel(int newIntel){
newIntel = intel;
}
void Player::setAP(int newAP){
newAP = AP;
}
void Player::setSP(int newSP){
newSP = SP;
}
void Player::setCurrentMP(int newMana){
newMana = CurrentMP;
}
I #include <string> so I don't know why I am getting these errors.
Code:
1> error C2061: syntax error : identifier 'string'
1> error C2146: syntax error : missing ';' before identifier 'getPlayerName'
1>error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>warning C4183: 'getPlayerName': missing return type; assumed to be a member function returning 'int'
1>error C2146: syntax error : missing ';' before identifier 'PlayerName'
1>error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1> error C2146: syntax error : missing ';' before identifier 'Spells'
1>error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>error C2146: syntax error : missing ';' before identifier 'Abilities'
1>error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>error C2146: syntax error : missing ';' before identifier 'castedSpell'
1>error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1> error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
...more of the same, every time I use string as an identifier it gives me an error