-2
お願いします、私に慈悲を持ってください。私の任務は1時間で完了し、すべてが動作します - 私の人生のためにできないことを除いて、私の移動コンストラクター(そして、延長、私のコピー割り当て)がセグメンテーション違反を投げる理由を理解してください!C++:Movement Constructorがセグメンテーションフォルトを投げていますか?
補足情報:基本的に任意のデータ型の配列を格納するChainというデータ構造体を作成し、そのサイズのsize_tを作成します。
ご協力いただきありがとうございます。詳細情報が必要な場合はお知らせください。
// Copy-constructor.
Chain(const Chain &rhs) {
size_ = rhs.size();
array_ = new Object[size_];
for (int i = 0; i < size_; i++) {
array_[i] = rhs.array_[i];
}
}
// Copy-assignment.
Chain& operator=(const Chain &rhs) {
Chain copy = rhs;
std::swap(*this, copy);
return *this;
}
// Move-constructor.
Chain(Chain &&rhs) {
rhs.array_ = nullptr;
}
移動コンストラクタは実際にクラスメンバーを設定しないため、将来の操作は失敗する可能性があります。 –
True。私はそれがここの問題だとは思わないが、私の実装はまさに私の教授が提案したものであった。 – BowmanBeric
@BowmanBericあなたの教授は間違っています。あるいは、あなたはあなたに告げられたことを誤解しました。 –