Re: Making explicit the conversion between unless types
Riccardo Rossi <[email protected]>
| Newsgroups | gmane.comp.lib.boost.ublas |
|---|---|
| Message-ID | <CAOVdALwfq7yqdmKfK9j-xXM8x9SGrSv-Fy6+eKwCRPk9GpDFjg@mail.gmail.com> |
This is just to be sure my previous email was received Can anyone acknowledge receipt? Riccardo On 24 Jun 2016 3:49 p.m., "Riccardo Rossi" <[email protected]> wrote: > Dear all, > > Right now the following code > > #include <iostream> > #include <iostream> > #include <boost/numeric/ublas/matrix.hpp> > > void f( > const boost::numeric::ublas::bounded_matrix<double,10,1>& > should_be_10by1 > ) > { > } > > int main() { > boost::numeric::ublas::bounded_matrix<double,10,1> correct; > boost::numeric::ublas::bounded_matrix<double,1,10> wrong; > f(correct); > f(wrong); //how can this be compiled??? - i expect the type of wrong > to be ...wrong for f!! > } > > Does compile, effectively bypassing type safety. > > Essentially if I use a reference in defining a function it is because I > don t want to pass by value. > In this case a copy is being done...allowed by the fact that the reference > I pass is constant. > > Couldn't t the conversion be made explicit? That would potentially uncover > many bugs... > > Regards > Riccardo >