C ++构造函数 - 错误预期')'在'*'标记之前

时间:2017-10-10 10:27:51

标签: c++ constructor

我在'''令牌之前得到了这个错误“预期')'并且我不明白为什么:

这是我的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";

}

希望你们可以帮助我,我已经试着找出解决其他人的问题,但我失败了。

[1] https://imgur.com/a/oXR8y

3 个答案:

答案 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

您在标题中的EventModelUserModel的标题中使用了CamelCaps,而在您的来源中,您只是写小写字母。 此外,您忘记将EventController::添加到源文件中的构造函数和其他方法。