
k lets say i have the following snippet of code typedef boost::operators<T> operatorsT; 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. :/boost_msvc/include\boost/operators.hpp(283) : error C2803: 'operator --' must have at least one formal parameter of class type C:/boost_msvc/include\boost/operators.hpp(268) : see reference to class template instantiation 'boost::decrementable<T,B>' being compiled with [ T=int, B=boost::detail::empty_base<int> ] C:/boost_msvc/include\boost/operators.hpp(284) : error C2146: syntax error : missing ';' before identifier 'nrv' C:/boost_msvc/include\boost/operators.hpp(284) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:/boost_msvc/include\boost/operators.hpp(284) : error C2061: syntax error : identifier 'x' C:/boost_msvc/include\boost/operators.hpp(284) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:/boost_msvc/include\boost/operators.hpp(284) : fatal error C1903: unable to recover from previous error(s); stopping compilation