-2
請問,上層的stackoverflow,憐憫我。我的任務是在一個小時內完成的,而且一切正常 - 除了我無法理解爲什麼我的移動構造函數(以及擴展名,我的複製分配)引發了分段錯誤!C++:移動構造函數拋出一個分段錯誤?
附加信息是否有幫助:程序是創建一個稱爲鏈的數據結構,它基本上存儲任何數據類型的數組,以及大小爲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;
}
您的移動構造函數實際上沒有設置任何類成員,因此未來的操作可能會失敗... –
是的。不過,我認爲這不是問題 - 我的實施正是我的教授所建議的。 – BowmanBeric
@BowmanBeric那麼你的教授是錯的。或者你誤解了告訴你的。 –