Keine passende Funktion für Aufruf von Konstruktor der Klasse

Ich bin üben meine OOP und ich habe die folgenden Klassen: Punkt und Kreis. Insbesondere Kreis hat einen Mittelpunkt und einen radius. Hier ist der relevante code:

//Point.h
class Point
{
    public:
        Point(double x, double y);
        double x() const;
        double y() const;
        std::string as_string() const;

    private:
        double x_coord;
        double y_coord;
};

//Circle.h
class Circle
{
    public:
        Circle(const Point& center, double radius);
        Point center() const;
        double radius() const;
        std::string as_string() const;
        std::string equation() const;

    private:
        Point center_pt;
        double radius_size;
};

//Circle.cpp
Circle::Circle(const Point& center, double radius)
{
    center_pt = center;
    radius_size = radius;
}

Jedoch, wenn ich versuche, um diesen code zu kompilieren, bekomme ich folgende Fehlermeldung:

Circle.cpp: In constructor Circle::Circle(const Point&, double)’:
Circle.cpp:3: error: no matching function for call to Point::Point()’
Point.h:10: note: candidates are: Point::Point(double, double)
Point.h:8: note:                 Point::Point(const Point&)

Ich bin mir nicht sicher, wie diese zu interpretieren-Fehler. Es sagt mir ich muss die x_coord und y_coord für die Point-parameter in meinem Kreis-Konstruktor?

Explizit definieren Sie einen Standardkonstruktor für die Klasse point.

InformationsquelleAutor nonremovable | 2015-07-03

Schreibe einen Kommentar