编译器不断地显示以下错误,这些错误涉及不同的类构造函数原型(prototype)。 Point2D
是另一个用于构造Line2D
对象的类。
//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;
}
最佳答案
哦,问题是您的构造函数正在使用不存在的Point2D
的默认构造函数。
使用初始化列表:
Line2D::Line2D(Point2D pt1,Point2D pt2):pt1(pt1), pt2(pt2){}