#include <iostream>
#include "Monsters.h"
usingnamespace std;
int main()
{
string playerchoice;
Monsters pikachu;
cout << "What do you want to name your Pokemon? ";
cin >> playerchoice;
playerchoice = pikachu.SetName();
cout << "Your Pikachu, " << pikachu.GetName() << ", has a health of " << pikachu.GetHealth() << " and an attack of " << pikachu.GetAttack();
return 0;
}
void SetName(string); is expecting to see a string but u don't pass anything into it on line 13. Just pass 'playerchoice' into the function - there won't be an equal sign on line 13.
Also I noticed that
1 2 3 4
void Monsters::SetName(string TheName)
{
TheName = name; //this is backwards - u want to store the TheName into 'name'
}
same go for the rest of theSet functions .
They are all backwards.
You want to store whatever that is being stored in the parameter to the private variable