From 8107d63a6b3621c090a05c60ecfb20529a1887bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Tue, 31 Jul 2018 10:29:08 +0200 Subject: [PATCH] [poincare] Evaluation: implement destructor of MatrixComplex --- poincare/include/poincare/evaluation.h | 2 +- poincare/src/evaluation.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/poincare/include/poincare/evaluation.h b/poincare/include/poincare/evaluation.h index ef831a250..2da37f262 100644 --- a/poincare/include/poincare/evaluation.h +++ b/poincare/include/poincare/evaluation.h @@ -63,7 +63,7 @@ public: std::complex undef = std::complex(NAN, NAN); return MatrixComplex(&undef, 1, 1); } - virtual ~MatrixComplex() {} + ~MatrixComplex(); typename Poincare::Evaluation::Type type() const override { return Poincare::Evaluation::Type::MatrixComplex; } const std::complex complexOperand(int i) const { return m_operands[i]; } int numberOfComplexOperands() const { return m_numberOfRows*m_numberOfColumns; } diff --git a/poincare/src/evaluation.cpp b/poincare/src/evaluation.cpp index daf6ac91d..004b5a039 100644 --- a/poincare/src/evaluation.cpp +++ b/poincare/src/evaluation.cpp @@ -131,6 +131,13 @@ MatrixComplex::MatrixComplex(std::complex * operands, int numberOfRows, in } } +template +MatrixComplex::~MatrixComplex() { + if (m_operands != nullptr) { + delete [] m_operands; + } +} + template Expression * MatrixComplex::complexToExpression(Expression::ComplexFormat complexFormat) const { Expression ** operands = new Expression * [numberOfComplexOperands()];