GENERATED_BODY() causing function declaration and member inaccessibility errors

UCSpecies::UCSpecies(UCGenome &FirstOrg,
int SpeciesID) :m_iSpeciesID(SpeciesID),
m_fBestFitness(FirstOrg.Fitness()),
m_iGensNoImprovement(0),
m_iAge(0),
m_Leader(FirstOrg), //copy constructor error
m_fSpawnsRqd(0)
{
m_vecMembers.Add(&FirstOrg);
m_Leader = FirstOrg; //assignment operator error
}

void UCSpecies::AddMember(UCGenome &NewMember)
{
	if (NewMember.Fitness() > m_fBestFitness)
	{
		m_fBestFitness = NewMember.Fitness();
		m_iGensNoImprovement = 0;
		m_Leader = NewMember; //assignment operator error
	}

	m_vecMembers.Add(&NewMember);
}

UCGenome UCSpecies::Spawn()
{
	UCGenome baby;

	if (m_vecMembers.Num() == 1)
	{
		baby = *m_vecMembers[0]; //assignment operator error
	}
	else
	{
		int MaxIndexSize = (int)(UCParams::fSurvivalRate * m_vecMembers.Num()) + 1;
		int TheOne = RandomInt(0, MaxIndexSize);
		baby = *m_vecMembers[TheOne]; //assignment operator error
	}

	return baby; //copy constructor error
}