diff --git a/G4.code-workspace b/G4.code-workspace index 79e8674..21e9d73 100644 --- a/G4.code-workspace +++ b/G4.code-workspace @@ -119,7 +119,8 @@ "style_parser": "cpp", "vmanip": "cpp", "element": "cpp", - "tree": "cpp" + "tree": "cpp", + "vertices": "cpp" } } } \ No newline at end of file diff --git a/include/Matrix.h b/include/Matrix.h index 3888598..b7e7568 100644 --- a/include/Matrix.h +++ b/include/Matrix.h @@ -41,10 +41,11 @@ matrix::matrix(int n, int m) { template matrix::matrix(const matrix& A) { - size_t number = A.n * A.m; + n = A.n, m = A.m; element = new T*[n]; for (int i = 0; i < n; i++) element[i] = new T[m]; - std::copy(A.element, A.element + number, element); + for (int i = 0; i < n; i++) + for (int j = 0; j < m; j++) element[i][j] = A.element[i][j]; } template @@ -54,10 +55,11 @@ template matrix& matrix::operator=(const matrix& A) { if (this != &A) { delete[] element; - size_t number = A.n * A.m; + n = A.n, m = A.m; element = new T*[n]; for (int i = 0; i < n; i++) element[i] = new T[m]; - std::copy(A.element, A.element + number, element); + for (int i = 0; i < n; i++) + for (int j = 0; j < m; j++) element[i][j] = A.element[i][j]; } return *this; }