C++ の「デフォルト コンストラクターがありません」エラーを修正する方法
この文脈での「逸脱」とは、コードの予期される動作が変化し、予期されたパターンに従っていないことを意味します。言い換えれば、コードは意図したパスから逸脱しています。
あなたが直面している問題は、「std::vector」にデフォルトのコンストラクターがないという事実によって引き起こされます。そのため、「MyVector」のインスタンスを作成しようとすると、 ` 引数を指定しないと、コンパイラはオブジェクトを構築できません。この問題を解決するには、空のリストでベクトルを初期化するデフォルトのコンストラクタを `MyVector` クラスに追加します。
std::vector
public:
MyVector() : myVector{} {} // デフォルトのコンストラクタ
// ... その他のメソッド ...
};
```
これによりインスタンスを作成できるようになります引数なしで `MyVector` を追加すると、オブジェクトは正しく構築されます。
あるいは、引数をとらず、空のリストでベクトルを初期化するコンストラクターを追加することもできます。
```
class MyVector {
std::vector< int> myVector;
public:
MyVector(const std::vector
};
```
これにより、引数なしで `MyVector` のインスタンスを作成することもでき、オブジェクトが正しく構築されます。
高く評価
低く評価
コンテンツエラーを報告する
シェア