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