编译器不断地显示以下错误,这些错误涉及不同的类构造函数原型(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){}

08-17 00:29