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
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
::value)); // bunch of code after... }
On 9/21/07, Nat Goodspeed
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
::value)); // bunch of code after... } on my compiler it generates this error. [snip]
Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users