Boost logo

Ublas :

From: Gunter Winkler (guwi17_at_[hidden])
Date: 2006-08-22 09:35:13


On Tuesday 22 August 2006 10:27, Suneel Suresh wrote:
> hi
> i am using a 3rd party program that does thin plate spline
> morphing. this program is called TPS demo and can be searched from the
> web. This program uses boost for LU solving. it was working fine with
> VC 2003 , but now when i try to compile it with VC2005 i get the
> following error

Without a sample program that reproduces the error it is very hard to give any
help. The general answer is: avoid the use of proxy classes because the life
time is very short. E.g. all iterators of a sparse matrix become invalid if a
single element is inserted.

>
> ERROR1
> boost/numeric/ublas/matrix_proxy.hpp(261) : error C2064: term does not
> evaluate to a function taking 0 arguments
> 1> D:\Program Files\Microsoft Visual Studio
> 8\VC\include\boost/numeric/ublas/matrix_proxy.hpp(260) : while
> compiling class template member function
> 'boost::numeric::ublas::matrix_row<M>::const_iterator::const_iterator(const
> std::iterator<_Category,_Ty> &)'

This may be a namespace problem because std::iterator<Cat,Type> should not
appear as result of any ublas function, although it is the base class of
random_access_iterator_base and similar.

an alternative is to directly use ublas::lu_factorize(...) and
ublas::lu_substitute(...).

>
> code where this problem occurs
>
> typename Matrix_Row::const_iterator ri_ite(LUrowi.begin());
> typename Matrix_Col::const_iterator cj_ite( LUcolj.begin());
>
> ERROR2
> include\boost/numeric/ublas/matrix_proxy.hpp(261) : error C2039: 'it_'
>
> : is not a member of 'std::iterator<_Category,_Ty>'
>
> Jason Zhang also got ERROR1 and has posted it under the subject
> Compiling problem with uBlas using VC 2005. Any idea what i am
> supposed to do cause i have never used boost.

mfg
Gunter