"Alisdair Meredith" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Several of the boost libraries select functionality based on the result > of some compile-time test. The result is usually stored in a > BOOST_STATIC_CONST( bool, test::value ); > > The current Borland compiler does not allow these values to be used as > template parameters though.
Are you referring to the compiler message E2231 "Member ... cannot be used without an object" ? For example, this is produced whenever you have something like template <class T> struct Y { static const bool value = ... // some test here. typedef X<value>::type type; // X is some other template }; I think you can get rid of the compilation error just be qualifying the use of "value". For example, typedef X<Y::value>::type type; I have recently been attempting to port Boost.Python to BCC and have come across lots of examples of this. The compilation errors all go away when the static member is expilcitly qualified. I also note that random/uniform_int.hpp and random/uniform_smallint.hpp have just been patched to get around this problem, but just explictly qualifying the member also fixes the compilation errors. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost