我正在尝试调用构造函数但它不起作用。代码是这样的:
class Event
{
private:
int Time;
int Date;
public:
Event();
Event(int t, int d)
}
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&)â
任何建议..............
答案 0 :(得分:5)
此
eve(inputTime,inputDate);
要求您的Event
班级有operator()(something, somethingElse)
,但它没有。{1}}。 something
和somethingElse
分别对应inputTime
和inputDate
的类型,这些类型未在您的问题中指定。
大概你想使用两个参数构造函数构造一个Event
,你可以这样做:
Event eve(inputTime,inputDate);
由于错误还提到类型Time
和Date
,您可能需要添加一个构造函数,该构造函数对这些类型进行const引用,除非它们可以隐式转换为int
。 / p>