$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: chun ping wang (cablepuff_at_[hidden])
Date: 2007-09-24 16:28:41
the problem occurs if i pass a primtive type into T. If i actually have
class X : boost::operators<X>
{
// ...
};
and than using X as a template parameter it works.
However it doesn't seem to accept  primitive type  because of the following
reasons...
error C2803: 'operator --' must have at least one formal parameter of class
type
On 9/21/07, chun ping wang <cablepuff_at_[hidden]> wrote:
>
> sorry, that should have been deleted.. the real code is this..
>
> > template <class T>
> > void myFunc(const T&)
> > {
> >   typedef boost::operators<T> operatorT;
> >    BOOST_STATIC_ASSERT((is_base
> >
> > _of<operatorT, T>::value));
> > >   // bunch of code after...
> > > }
>
>
>
> On 9/21/07, Nat Goodspeed <nat_at_[hidden]> wrote:
> >
> > chun ping wang wrote:
> >
> > > k lets say i have the following snippet of code
> > >
> > > typedef boost::operators<T> operatorsT;
> >
> >    Um, what's the intent of this line? Is there a definition of a
> > specific type T somewhere in scope? Given that myFunc() contains a
> > similar typedef, could this outer one be removed?
> >    This set of questions may be a total red herring, but even if the
> > outer typdef doesn't confuse MSVC, it confuses me.
> >
> > > template <class T>
> > > void myFunc(const T&)
> > > {
> > >   typedef boost::operators<T> operatorT;
> > >    BOOST_STATIC_ASSERT((is_base_of<operatorT, T>::value));
> > >   // bunch of code after...
> > > }
> > >
> > > on my compiler it generates this error.
> > [snip]
> > _______________________________________________
> > Boost-users mailing list
> > Boost-users_at_[hidden]
> > http://listarchives.boost.org/mailman/listinfo.cgi/boost-users
> >
>
>