Здравствуйте, Экселенц, Вы писали:
Э>Вот пример:
Э>Э>ublas::bounded_vector<double, 3> v, v1, v2;
Э>v = v1 + v2;
Э>
Э>error C2666: 'boost::numeric::ublas::vector<T,A>::operator`='' : 3 overloads have similar conversions
Вот такой код с 6 warning-ами компилится спокойно:
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/io.hpp>
namespace ublas = boost::numeric::ublas;
template<class V>
void initialize_vector (V &v) {
int size = v.size ();
for (int i = 0; i < size; ++ i)
v [i] = i + 1.f;
}
void main()
{
ublas::bounded_vector<double, 3> v, v1, v2;
initialize_vector (v1);
initialize_vector (v2);
std::cout << v1 << std::endl;
std::cout << v2 << std::endl;
v = v1 + v2;
std::cout << v << std::endl;
/*
==============Output=================
[3](1,2,3)
[3](1,2,3)
[3](2,4,6)
*/
}
Boost — 1.32,
VC 7.1 — cl.exe 13.10.3077.0
C уважением,
Стас
... << RSDN@Home 1.1.4 beta 3 rev. 185>>