我在'''令牌之前得到了这个错误“预期')'并且我不明白为什么:
这是我的EventController.h代码
#ifndef EVENTCONTROLLER_H_
#define EVENTCONTROLLER_H_
#include <iostream>
#include "EventModel.h"
#include "UserModel.h"
using namespace std;
#include <vector>
#include <stdexcept>
#include "Observer.h"
class EventController{
public:
EventController(EventModel *eventModel, UserModel *userModel);
virtual ~EventController();
void EventDoneUndone(bool& eventcurrentstate);
void addPerson2Event(UserModel *userModel, EventModel *eventModel);
void Update();
private:
EventModel *eventModel;
UserModel *userModel;
};
#endif /* EVENTCONTROLLER_H_ */
这是我的EventController.cpp,我得到错误
#include "EventController.h"
#include <iostream>
#include "EventModel.h"
#include "UserModel.h"
EventController(eventModel *eventModel, userModel *userModel){ **HERE I GET THE ERROR**
this->eventModel = eventModel;
this->userModel = userModel;
// eventModel->attach();
// userModel->attach();
}
EventController::~EventController() {
// TODO Auto-generated destructor stub
}
void eventDoneUndone(EventModel eventModel1){
eventModel1.toggleState();
}
void addPerson2Event(UserModel userModel1, EventModel eventModel1) {
eventModel1.setPerson2Event(userModel1);
}
void EventController::Update(){ //maniera Pull Observer myObs
cout << "C'è stato un Update su";
}
希望你们可以帮助我,我已经试着找出解决其他人的问题,但我失败了。
答案 0 :(得分:4)
你的意思是:
EventController::EventController(EventModel *eventModel, UserModel *userModel)
// ^^^^^^^^^^^^^^^^^ ^ ^
答案 1 :(得分:0)
我认为你想使用构造函数。所以代码必须是这样的:
EventController::EventController(eventModel *eventModel, userModel *userModel){
this->eventModel = eventModel;
this->userModel = userModel;
// eventModel->attach();
// userModel->attach();
}
答案 2 :(得分:0)
.cpp
文件中的签名与标题中的签名不同。
EventController(EventModel *eventModel, UserModel *userModel) //Header
EventController(eventModel *eventModel, userModel *userModel) //Source
您在标题中的EventModel
和UserModel
的标题中使用了CamelCaps,而在您的来源中,您只是写小写字母。
此外,您忘记将EventController::
添加到源文件中的构造函数和其他方法。