我认为这里有一些基本的东西,但是我有一个我称之为'Event'的结构的向量,叫做eventTable,我试图从函数中访问它。我收到这个错误:“无效的参数'候选人是:void push_back(const Event&)”任何建议?
struct Event {
enum TYPE {
Arrival,
CPUBurstCompletion,
IOCompletion,
TimerExpired
};
double time;
TYPE type;
Event(Event::TYPE type, double time)
: type(type),
time(time) {}
};
vector<Event> eventTable;
void createEvent(Event::TYPE type, double time){
Event newEvent(Event::TYPE type, double time);
eventTable.push_back(newEvent);
}
答案 0 :(得分:2)
不要包含类型。您想构造一个对象,而不是声明一个函数。这构造了一个对象:
Event newEvent(type, time);
答案 1 :(得分:1)
Event newEvent(Event::TYPE type, double time);
这不是创建Event
类的对象。向量eventTable
存储Event
的对象,但是,您不以当前方式提供Event
的对象。你正在声明一个功能。
尝试:
Event newEvent(type, time);