|
Ublas : |
Subject: [ublas] Making explicit the conversion between unless types
From: Riccardo Rossi (rrossi_at_[hidden])
Date: 2016-06-24 09:49:10
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