OOP,构造函数不工作

时间:2012-12-09 18:00:25

标签: c++

我正在尝试调用构造函数但它不起作用。代码是这样的:

// Event.h

class Event
{
  private:
    int Time;
    int Date;
  public:
    Event();
    Event(int t, int d)
}

// Event.cpp

Event::Event(){}

Event::Event(int time, int date){
Time=time;
Date=date;
}

//现在在另一个.cpp文件中我试图调用这样的构造函数:

Event eve;
eve(inputTime,inputDate); // inputTime and inputDate are inputs 4m user.
//Error is:  no match for call to â(Event) (Time&, Date&)â

任何建议..............

1 个答案:

答案 0 :(得分:5)

eve(inputTime,inputDate); 

要求您的Event班级有operator()(something, somethingElse),但它没有。{1}}。 somethingsomethingElse分别对应inputTimeinputDate的类型,这些类型未在您的问题中指定。

大概你想使用两个参数构造函数构造一个Event,你可以这样做:

Event eve(inputTime,inputDate);

由于错误还提到类型TimeDate,您可能需要添加一个构造函数,该构造函数对这些类型进行const引用,除非它们可以隐式转换为int。 / p>