Boost logo

Boost Users :

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://lists.boost.org/mailman/listinfo.cgi/boost-users
> >
>
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net