diff --git a/MathLib/LinAlg/PETSc/PETScVector.h b/MathLib/LinAlg/PETSc/PETScVector.h index b2de22be1720cad487cf9d479ebce4f3f16307d4..ce15cbe8f4614dd990a96d24e8191f1644bfe091 100644 --- a/MathLib/LinAlg/PETSc/PETScVector.h +++ b/MathLib/LinAlg/PETSc/PETScVector.h @@ -223,12 +223,19 @@ class PETScVector void setZero() { *this = 0.0; } /// Overloaded operator: assign - void operator = (const PETScVector &v_in) + PETScVector& operator = (const PETScVector &v_in) { if (!_v) shallowCopy(v_in); VecCopy(*v_in._v, *_v); + + return *this; } + /// Disallow moving. + /// \todo This operator should be implemented properly when doing a + /// general cleanup of all matrix and vector classes. + PETScVector& operator = (PETScVector &&) = delete; + /// Overloaded operator: add void operator += (const PETScVector& v_in) {