現在C++を勉強中なのですが、下記のようなコードを書いたところ、"クラス"hoge"の規定のコンストラクターは存在しません” "'hoge':クラス、構造体、共用体に規定のコンストラクターがありません。"というエラーが出ます。
C++
1class hoge { 2public: 3 hoge(int i, int j) { this->i = i; this->j = j; } 4private: 5 int i; 6 int j; 7}; 8 9class hoge2 { 10public: 11 hoge2(hoge) { this->hoge = hoge; } //←ここの{にエラーが出る 12private: 13 hoge hoge; 14};
ですが、このように書くとエラーが出ませんでした。
C++
1class hoge { 2public: 3 hoge(int i, int j) { this->i = i; this->j = j; } 4private: 5 int i; 6 int j; 7}; 8 9class hoge2 { 10public: 11 hoge2(hoge) : hoge(hoge) {} 12private: 13 hoge hoge; 14};
これはなぜなのでしょうか?よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/10 16:57 編集
2016/10/11 06:10
2016/10/11 06:25