I just ran into this as well. The problem seems to be
related
to MSVC's new strictness with the typename keyword,
which doesn't interact well with forward declarations
and nested classes.
I was able to get it to work by adding the line
typename self_type::
just before the return value of every function that caused
the problem, e.g. in matrix.hpp line 404:
BOOST_UBLAS_INLINE
typename self_type::
const_iterator2 begin () const {
const self_type &m = (*this) ();
return m.find_first2 (1, index1 (), 0);
}
There are 60 places that needs to be done, but they're all identical.
I don't know how good a fix that really is, and for all I
know it may break other compilers (including VC7.0).
But it ought at least let you get on with what you're doing,
until a new release (compiler or library) that fixes
the problem for real.
Hope it helps---
Michael
> using an fresh update from the CVS
> I can barely get anything to compile. Actually I don't know if anything IS
> compiling.
> I get over 1000 errors like this when I run the jamfile in the status directory
>
> C:\Projects\boost\boost\numeric\ublas\matrix_proxy.hpp(4945) : error C2027:
> use of undefined type 'boost::numeric::ublas::matrix_indirect<M,IA>::iterator2'
>
> it seems that EVERY error mentions ::iterator2 or ::const_iterator2
>
> I don't know when this started happening.
>
> Victor A. Wagner Jr.
http://rudbek.com> The five most dangerous words in the English language:
> "There oughta be a law"
>
> _______________________________________________
> Unsubscribe & other changes:
http://lists.boost.org/mailman/listinfo.cgi/boost>