C ++在结构构造函数中设置枚举字段的麻烦

时间:2013-05-01 21:33:31

标签: c++ constructor enums

我正在尝试在结构构造函数中设置枚举,但我无法完全理解语法。有什么建议吗?这就是我所拥有的,但我一直都会遇到错误。

struct Event{
    enum eventType { Arrival, CPUburstCompletion, IOcompletion, TimerExpired }enumField;
    double time; // Defined as time units since the start of the simulation

    Event(eventType e, double theTime): enumField(e), time(theTime){}
};

2 个答案:

答案 0 :(得分:1)

你试过这个吗?

struct Event{
    enum eventType { Arrival, CPUburstCompletion, IOcompletion, TimerExpired };

    eventType enumField;


    double time; // Defined as time units since the start of the simulation

    Event(eventType e, double theTime): enumField(e), time(theTime){}
};

答案 1 :(得分:1)

也许......

struct Event {
  enum TYPE {
    Arrival,
    CPUBurstCompletion,
    IOCompletion,
    TimerExpired
  };
  double time;  
  TYPE type;  
  Event(Event::TYPE type, double time)
      : type(type),
        time(time) { }
};

int main() {
  Event e(Event::Arrival, 1.0);
  return 0;
}