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