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
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.