Boost logo

Boost :

From: Arkadiy Vertleyb (vertleyb_at_[hidden])
Date: 2005-12-24 07:41:26


"Andy Little" <andy_at_[hidden]> wrote

> "Arkadiy Vertleyb" wrote in message
> > "Andy Little" wrote
> >
> >> Small sample enclosed.( Let me know if you want a bigger portion.) .
> >
> > c:\boost\boost_1_33_0\boost\typeof\encode_decode.hpp(24) : error C2504:
> >
'boost::type_of::`anonymous-namespace'::encode_type_impl<V,Type_Not_Register
> > ed_With_Typeof_System>' : base class undefined
> > with
> > [
> > V=[...],
> >
Type_Not_Registered_With_Typeof_System=boost::mpl::vector6<...
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >
> > This complain about mpl::vector6 not registered.
>
> That is true , but the error message is not correct. In my typeof
registration
> I have registered vector6 with Typeof. This is not the registration that
is
> lacking. I guess that VC7.1 goes off the rails somewhere close by but,
fact is
> that the error message is pointing to the wrong place on this occasion.

I am puzzled... Is it possible for you to send me the source code that
causes the problem?

> FWIW I dont really see this as a problem for Typeof, which does provide
good
> diagnostics in simpler cases. I am just pointing out that, when the
> error-checking is not helping as in the above case, then an alternative
approach
> is to use Typeid to find out what types your type is made up of. This is
> particularly useful with e.g. mpl both because types are likely to be
> complicated and because its not always possible to know the exact mpl type
your
> type is made of.

I am not arguing against using typeid, and I'll see how to add this to
documentation... I just want to figure out why the diagnostic is not
correct. It puzzles me, because vc71 is my primary compiler, and I never
noticed this problem before.

Regards,
Arkadiy


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk