我有2个文件,Chrono.cpp和Chrono.h。
Chrono.h
class Appointment {
public:
Appointment( Date d , string n ) ;
Appointment() ;
int get_day() const { return date.d; }
int get_month() const { return date.m; }
int get_year() const { return date.y; }
string get_name() const { return name ; }
Date date ;
string name ;
} ;
Chrono.cpp
Appointment::Appointment( Date dd , string nn )
: date( dd ) , name( nn )
{
//if(!is_date(yy,mm,dd))throw Invalid();
}
我继续收到此错误,或者说它与.h文件不匹配。
Chrono.cpp:17:1: error: prototype for āChrono::Appointment::Appointment(Chrono::Date, String)ā does not match any in class āChrono::Appointmentā
Chrono.h:34:7: error: candidates are: Chrono::Appointment::Appointment(Chrono::Appointment&&)
Chrono.h:34:7: error: Chrono::Appointment::Appointment(const Chrono::Appointment&)
Chrono.h:42:2: error: Chrono::Appointment::Appointment(Chrono::Date, std::string)
Chrono.h:41:2: error: Chrono::Appointment::Appointment()
两个文件都有#include字符串,而.cpp文件位于std名称空间中。我也尝试在头文件中使用std :: string。到目前为止,我所做的一切都没有奏效。任何帮助表示赞赏。另请注意,Date在其他地方定义并且正常工作。
答案 0 :(得分:1)
你拼错了“字符串”。在您的代码中,它显示为string
,但在错误中显示为String
。