0

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

// 事件.h

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

// 事件.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&)â

有什么建议么..............

4

1 回答 1

5

这个

eve(inputTime,inputDate); 

要求你的Event班级有一个operator()(something, somethingElse),它没有。something并且somethingElse将分别对应于 和 的类型inputTimeinputDate这些类型未在您的问题中指定。

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

Event eve(inputTime,inputDate);

由于错误还提到了类型TimeDate,您可能需要添加一个构造函数,该构造函数将 const 引用指向这些类型,除非它们可以隐式转换为int.

于 2012-12-09T18:04:17.627 回答