struct point {
    int x; int y;
    point(int a, int b) {
        x = a;
        y = b;
    }
};
class circle {
public:
    point p;
    double r;
    circle(point a, double b) {
        p = a;
        r = b;
    }
    //circle(point a, double b) : p(a), r(b) {}; //no error
};
int main() {
    point p1(2,7);
    circle c(p1, 0.3);
    cout << c.p.x << c.p.y << endl;
    return 0;
}

質問: circle のコンストラクタの部分で”クラスpointの規定のコンストラクタは存在しません”というエラーが出ます。pointの引数2個のコンストラクタを作成したはずなのになぜでしょうか。