编译器会不断显示以下错误,这些错误是指不同的类构造函数原型。 Point2D
是另一个用于构造Line2D
对象的类。
C:\ Users ***** \ src \ Line2D.cpp | 3 |错误:没有匹配的函数可以调用'Point2D :: Point2D()' include \ Point2D.h | 13 |注意:候选:Point2D :: Point2D(int,int)|
//this file(Line2D.h) has #include "Point2D.h"
Line2D(Point2D ,Point2D ); // constructor prototype
//this file(Line2D.cpp) has #include "Line2D.h"
Line2D::Line2D(Point2D pt1,Point2D pt2) // ERROR ON THIS LINE constructor method
{
this -> pt1 = pt1;
this -> pt2 = pt2;
}
答案 0 :(得分:1)
哦,问题在于您的构造函数正在为Point2D
使用默认的构造函数,而该构造函数不存在。
使用初始化列表:
Line2D::Line2D(Point2D pt1,Point2D pt2):pt1(pt1), pt2(pt2){}
答案 1 :(得分:0)
我认为您错过了Point2D
类的默认构造函数的实现。
Point2D::Point2D()