From b2b8a156119330c0f2c3482ce8f87bbcad1acad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Sch=C3=B6berl?= Date: Tue, 8 Sep 2020 23:00:03 +0200 Subject: [PATCH] Array copy only if type is assignable --- libsrc/core/array.hpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/libsrc/core/array.hpp b/libsrc/core/array.hpp index 28868d91..c83c4431 100644 --- a/libsrc/core/array.hpp +++ b/libsrc/core/array.hpp @@ -940,11 +940,16 @@ namespace ngcore /// array copy NETGEN_INLINE Array & operator= (const Array & a2) { - SetSize0 (); - SetSize (a2.Size()); - for (size_t i = 0; i < size; i++) - data[i] = a2.data[i]; - return *this; + if constexpr (std::is_assignable::value) + { + SetSize0 (); + SetSize (a2.Size()); + for (size_t i = 0; i < size; i++) + data[i] = a2.data[i]; + return *this; + } + else + throw Exception(std::string("cannot copy Array of type ") + typeid(T).name()); } /// steal array