[英]Matrix class in c++ assignment operator
我正在嘗試在C ++中實現Matrix類。 我在嘗試讓賦值運算符工作時遇到問題。 在這一點上我迷路了。 問題是我收到一個錯誤消息,說“向量下標超出范圍”。 如果我this->size = A.size;
這段代碼,則this->size = A.size;
從賦值重載運算符,編譯器不會抱怨。 賦值運算符應該返回對Matrix對象的引用。 我嘗試創建一個新的Matrix對象,但這給了我同樣的錯誤。 有什么提示嗎?
**Matrix.hpp**
class Matrix
{
private:
int size; //size of matrix
double value;
std::vector<double> M;
public:
...
}
**Header.cpp**
Matrix& Matrix::operator=(const Matrix& A)
{
if (this == &A)
{
return *this;
}
else
{
this->size = A.size; // this is causing problems
return *this;
}
}
將一個矩陣分配給另一個矩陣時,不僅需要更改大小數據成員,還需要更改其他數據成員,例如調整double型向量的大小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.