1 // Copyright 2002 The Trustees of Indiana University. 2 3 // Use, modification and distribution is subject to the Boost Software 4 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 5 // http://www.boost.org/LICENSE_1_0.txt) 6 7 // Boost.MultiArray Library 8 // Authors: Ronald Garcia 9 // Jeremy Siek 10 // Andrew Lumsdaine 11 // See http://www.boost.org/libs/multi_array for documentation. 12 13 // 14 // fail_cbracket.cpp - 15 // checking constness of const operator[]. 16 // 17 18 #include <boost/multi_array.hpp> 19 20 #include <boost/core/lightweight_test.hpp> 21 22 #include <boost/array.hpp> 23 24 int main()25main() 26 { 27 const int ndims=3; 28 typedef boost::multi_array<int,ndims> array; 29 30 boost::array<array::size_type,ndims> sma_dims = {{2,3,4}}; 31 array sma(sma_dims); 32 33 34 const array& csma = sma; 35 36 // FAIL! cannot assign to csma. 37 csma[0][0][0] = 5; 38 39 return boost::report_errors(); 40 } 41