ошибка: базовый операнд '->' имеет тип без указателя - PullRequest
0 голосов
/ 02 ноября 2018

Это мой заголовочный файл enum

//use like PostionType::President
enum PositionType
{ President,
VicePresident,
Secretary,
Treasurer,
Normal
};

И в моем заголовке бюллетеня и в файле cpp

#include <list>
#include <iostream>
#include "Candidate.h"
#include "PositionType.h" //include enum

class BallotPaper
{
 private:
     PositionType _positionbp;
     std::list<Candidate> _candidatesbp;
 public:
     BallotPaper();         

    void setPositionBP(PositionType positionbp);
    PositionType getPositionBP();

    void setCandidateBP(std::list<Candidate> candidatesbp);
    std::list<Candidate> getCandidateBP();

    Candidate getCandidate(int index);
    void ShowCandidates();   
    ~BallotPaper();
   };

#include "BallotPaper.h"
#include <string>
#include <iostream>

void BallotPaper::setPositionBP(PositionType positionbp)
{
    _positionbp = positionbp;
}
PositionType BallotPaper::getPositionBP()
 {
    return _positionbp;
  }

 void BallotPaper::setCandidateBP(std::list<Candidate> candidatesbp)
 {
     _candidatesbp = candidatesbp;
 }
std::list<Candidate> BallotPaper::getCandidateBP()
{
    return _candidatesbp;
}

void BallotPaper::ShowCandidates()
{

    for(Candidate c : _candidatesbp)
    {
        c->IncreaseVoteCount();   //ERROR!!!!
    }
}

и это будет мой кандидатный заголовок и файл cpp

class Candidate:public Member
{
 private:
   int _votecount;
   PositionType _position;
 public:
   Candidate(std::string name, int id, std::string course, int contact,          std::string joindate, PositionType currentposition) ;
   ~Candidate();

void setVoteCount(int votecount);
int getVoteCount();

void setPosition(PositionType position);
PositionType getPosition();

void IncreaseVoteCount(); //increase _votecount
}; 

#include "Candidate.h"

Candidate::Candidate()
{
  _votecount = 0;
}

void Candidate::setVoteCount(int votecount)
{
  _votecount = votecount;
}
int Candidate::getVoteCount()
{
  return _votecount;
}

void Candidate::setPosition(PositionType position)
{
   _position = position;
}

PositionType Candidate::getPosition()
{
    return _position;
}


void Candidate::IncreaseVoteCount()
{
   _votecount++;
}

Я знаю, что это очень длинный код, и я благодарен за ваше терпение в его просмотре. Моя ошибка в том, что кажется, что он не может распознать функцию «IncreaseVoteCount» в «Кандидат с».

Я пытался дважды проверить синтаксис и код несколько раз, но я все еще не понимаю, в чем здесь ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...