Browse Source

Check initializer_list size in StaticArray.

Dhairya Malhotra 8 years ago
parent
commit
6853f2dff0
1 changed files with 2 additions and 1 deletions
  1. 2 1
      include/pvfmm/mem_mgr.hpp

+ 2 - 1
include/pvfmm/mem_mgr.hpp

@@ -240,7 +240,8 @@ template <class ValueType, Long DIM> class StaticArray : public Iterator<ValueTy
   ~StaticArray();
 
   StaticArray(std::initializer_list<ValueType> arr_) : StaticArray() {
-    // static_assert(arr_.size() == DIM); // allowed in C++14
+    // static_assert(arr_.size() <= DIM, "too many initializer values"); // allowed in C++14
+    PVFMM_ASSERT_MSG(arr_.size() <= DIM, "too many initializer values");
     for (Long i = 0; i < DIM; i++) arr[i] = arr_.begin()[i];
   }