--- matrix_expression.hpp.orig 2008-05-01 11:11:57.690870000 +0100 +++ matrix_expression.hpp 2008-05-07 13:58:59.998389000 +0100 @@ -2940,7 +2940,9 @@ namespace boost { namespace numeric { na // (t * m) [i] [j] = t * m [i] [j] template BOOST_UBLAS_INLINE + typename enable_if< is_convertible, typename matrix_binary_scalar1_traits >::result_type + >::type operator * (const T1 &e1, const matrix_expression &e2) { typedef typename matrix_binary_scalar1_traits >::expression_type expression_type; @@ -3373,7 +3375,9 @@ namespace boost { namespace numeric { na // (m * t) [i] [j] = m [i] [j] * t template BOOST_UBLAS_INLINE + typename enable_if< is_convertible, typename matrix_binary_scalar2_traits >::result_type + >::type operator * (const matrix_expression &e1, const T2 &e2) { typedef typename matrix_binary_scalar2_traits >::expression_type expression_type;