diff liboctave/Array2.h @ 6990:9dc99ab00c86

[project @ 2007-10-09 20:39:54 by dbateman]
author dbateman
date Tue, 09 Oct 2007 20:39:55 +0000
parents 2883ea1c5c18
children 93c65f2a5668
line wrap: on
line diff
--- a/liboctave/Array2.h
+++ b/liboctave/Array2.h
@@ -56,10 +56,19 @@
   Array2 (octave_idx_type r, octave_idx_type c, const T& val)
     : Array<T> (dim_vector (r, c), val) { }
 
-  Array2 (const dim_vector& dv) : Array<T> (dv) { }
+  Array2 (const dim_vector& dv) : Array<T> (dv) 
+    { 
+      if (dv.length () != 2)
+	(*current_liboctave_error_handler) ("too many dimensions");
+    }
 
-  Array2 (const dim_vector& dv, const T& val) 
-    : Array<T> (dv) { Array<T>::fill (val); }
+  Array2 (const dim_vector& dv, const T& val) : Array<T> (dv) 
+    { 
+      if (dv.length () != 2)
+	(*current_liboctave_error_handler) ("too many dimensions");
+      else
+	Array<T>::fill (val); 
+    }
 
   Array2 (const Array2<T>& a) : Array<T> (a, a.dims ()) { }