Компилятор постоянно показывает следующие ошибки, относящиеся к другому прототипу конструктора класса. Point2D - это другой класс, который используется для создания объекта Line2D.
Point2D
Line2D
C: \ Users ***** \ src \ Line2D.cpp | 3 | ошибка: нет соответствующей функции для вызова Point2D :: Point2D () include \ Point2D.h | 13 | note: кандидат: 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; }
Я думаю, что вы пропустили реализацию конструктора по умолчанию для Point2D класса.
Point2D::Point2D()
О, проблема в том, что ваш конструктор использует конструктор по умолчанию для Point2D, который не существует.
Используйте списки инициализации:
Line2D::Line2D(Point2D pt1,Point2D pt2):pt1(pt1), pt2(pt2){}