[tuple] weird compile error with VC-8_0
Hi,
I am getting this error message, when using boost::tuple:
include\boost\tuple\detail\tuple_basic.hpp(373) : error C2039: 'tail' : is
not a member of 'boost::tuples::cons
Hi,
I am getting this error message, when using boost::tuple:
include\boost\tuple\detail\tuple_basic.hpp(373) : error C2039: 'tail' : is not a member of 'boost::tuples::cons
' 1> with 1> [ 1> HT=UTX::DB::nulled_type<unsigned char>, 1> TT=boost::tuples::null_type 1> ] The referred line is the templated constructor of the non-specialised struct cons:
template
cons( const cons & u ) : head(u.head), tail(u.tail) {} So it seems that somehow the non-specialised method is called for the specialised template instantiation. Has anybody seen something like this?
Yes.
Is there a way to circumvent it?
With me it happened because the compiler was instantiating (unintended) stuff
where the tuple was too short.
You could try using enable_if on a very general signature instead of
specialisation to prevent the compiler 'looking into' stuff. IOW
Before:
template <int N> struct my;
template <> struct my<1>{...};
After:
template
participants (2)
-
Andy Little
-
imre@u-tx.com