1.) Warning: "warning: control may reach end of non-void function [-Wreturn-type]"
First you should correct this warning. It comes most probably from the method "string who_first()" which can be return without a return value.
string who_first ( )
{
string first;
cout << "Decide who goes first then enter the name as you used before: ";
cin >> first;
if ( first == player1name )
{
return player1name;
}
else if ( first == player2name )
{
return player2name;
}
}
How to correct? In case the logic is, that you never should come to "*1)" then you should throw an Exception there.
2.) Linker Error: "Undefined symbols for architecture x86_64: check_spot"
For the implementation you used the name
check_free_spot
vs.
check_spot
you used in the Forward declaration. So it would be easy to correct this, yes?
I hope it helps.