Error : C2143:syntax error : missing ';' before '.'
//// header file

#ifndef _SECTION_
#define _SECTION_

#include <map>
#include "Employee.h"
using namespace std;

class Section {
 private:
  char* m_sectionName;
  Employee* m_director;
  Employee* m_viceDirector;
  typedef multimap<string,Employee*> m_employees; 
 
 public:
 
  Section (char* name);
  Section(const Section& section); 
  ~Section();
  
  const char* GetSectionName () const { return m_sectionName; }
  const Employee* GetDirector () const { return m_director; } ///////////////check
  const Employee* GetViceDirector () const {return m_viceDirector; } ///////////// check
  
  void SetSectionName (const char* newName);
  Employee* SetDirector (Employee& newDirector); ///////////// check
  Employee* SetViceDirector (Employee& newViceDirector); ///////////// check
 
  void Show () const;
  void ShowEmployess() const;
  void AddEmployee (Employee newEmployee);
  Employee RemoveEmployee (string id); 
  
  int GetMinEmployeeWage () const;
  int GetMaxEmployeeWage () const;
  int AvgMaxEmployeeWage () const;
  int GetNumOfEmployee () const;
  int GetSumOfExpenses () const;  
};

#endif



////// cpp


#include "Section.h"

Section::Section (char* name)
{
 SetSectionName(name);
}


Section::Section(const Section& otherSection) {
 SetSectionName(otherSection.GetSectionName());
 m_director = otherSection.m_director; //////// check
 m_viceDirector = otherSection.m_viceDirector; /////// check
}

Section::~Section(){
 delete [] m_sectionName;
}


void Section::SetSectionName (const char* newName){
 m_sectionName = new char[strlen(newName)+1];
 strcpy(m_sectionName, newName);
}


Employee* Section::SetDirector (Employee& newDirector) {
 Employee* oldDirector = m_director;
 m_director = &newDirector;
 return oldDirector;
}

Employee* Section::SetViceDirector (Employee& newViceDirector) {
 Employee* oldViceDirector = m_viceDirector;
 m_viceDirector = &newViceDirector;
 return oldViceDirector;
}

void Section::Show() const {
 cout <<"Section :"<<m_sectionName<<endl;
 cout <<"Director :"<<m_director<<endl;
 cout <<"ViceDirector :"<<m_viceDirector<<endl;
}


/*void Section::ShowEmployess() const {
 m_employees::iterator Iterator;
 for (Iterator index = m_employees.begin(); index != m_employees.end(); ++index) {
  Iterator->
 }
}*/

///here the problem !!
void Section::AddEmployee(Employee newEmployee) {
 m_employees.insert(make_pair((string)(newEmployee->GetLastName()),newEmployee));
}


Error : C2143:syntax error : missing ';' before '.'
===

//// header file

#ifndef _SECTION_
#define _SECTION_

#include <map>
#include "Employee.h"
using namespace std;

class Section {
 private:
  char* m_sectionName;
  Employee* m_director;
  Employee* m_viceDirector;
  typedef multimap<string,Employee*> m_employees; 
 
 public:
 
  Section (char* name);
  Section(const Section& section); 
  ~Section();
  
  const char* GetSectionName () const { return m_sectionName; }
  const Employee* GetDirector () const { return m_director; } ///////////////check
  const Employee* GetViceDirector () const {return m_viceDirector; } ///////////// check
  
  void SetSectionName (const char* newName);
  Employee* SetDirector (Employee& newDirector); ///////////// check
  Employee* SetViceDirector (Employee& newViceDirector); ///////////// check
 
  void Show () const;
  void ShowEmployess() const;
  void AddEmployee (Employee newEmployee);
  Employee RemoveEmployee (string id); 
  
  int GetMinEmployeeWage () const;
  int GetMaxEmployeeWage () const;
  int AvgMaxEmployeeWage () const;
  int GetNumOfEmployee () const;
  int GetSumOfExpenses () const;  
};

#endif



////// cpp


#include "Section.h"

Section::Section (char* name)
{
 SetSectionName(name);
}


Section::Section(const Section& otherSection) {
 SetSectionName(otherSection.GetSectionName());
 m_director = otherSection.m_director; //////// check
 m_viceDirector = otherSection.m_viceDirector; /////// check
}

Section::~Section(){
 delete [] m_sectionName;
}


void Section::SetSectionName (const char* newName){
 m_sectionName = new char[strlen(newName)+1];
 strcpy(m_sectionName, newName);
}


Employee* Section::SetDirector (Employee& newDirector) {
 Employee* oldDirector = m_director;
 m_director = &newDirector;
 return oldDirector;
}

Employee* Section::SetViceDirector (Employee& newViceDirector) {
 Employee* oldViceDirector = m_viceDirector;
 m_viceDirector = &newViceDirector;
 return oldViceDirector;
}

void Section::Show() const {
 cout <<"Section :"<<m_sectionName<<endl;
 cout <<"Director :"<<m_director<<endl;
 cout <<"ViceDirector :"<<m_viceDirector<<endl;
}


/*void Section::ShowEmployess() const {
 m_employees::iterator Iterator;
 for (Iterator index = m_employees.begin(); index != m_employees.end(); ++index) {
  Iterator->
 }
}*/

///here the problem !!
void Section::AddEmployee(Employee newEmployee) {
 m_employees.insert(make_pair((string)(newEmployee->GetLastName()),newEmployee));
}

