中級 › 引数なしコンストラクタが無いときのエラーの原因 › パターン4
引数なしコンストラクタが無いときのエラーの原因
引数ありのコンストラクタだけを自分で定義したクラスに対して、引数なしでインスタンスを作ろうとしたときに出るエラーです。
1 #include <iostream> 2 class Circle { 3 public: 4 Circle(int r) { radius = r; } 5 int radius; 6 }; 7 int main() { 8 Circle c___; ^ 9 std::cout << c.radius << std::endl; 10 return 0; 11 }
main.cpp:8:12: error: no matching function for call to 'Circle::Circle()'
空欄を埋めてコンパイル・実行を通す
Circle(int r)を自分で定義した時点で、引数なしのデフォルトコンストラクタは自動生成されなくなります。
次の問題