
Morning, all. I'm trying to implement a compile-time greatest common divisor metafunction, a key component of which is boost::mpl::modulus_c. Am I correct if I say that the following is typical usage of this class template? #include <iostream> #include <boost/mpl/modulus.hpp> int main() { typedef typename boost::mpl::modulus<int,14,6>::type remainder_type; std::cout << "The remainder of 14 divided by 6 is "; std::cout << remainder_type::value << std::endl; return 0; } MinGW 3.2 accepts this usage, but MSVC 7.1 files the following complaint: ..\..\Libraries\boost\boost\mpl\modulus.hpp(39) : error C2975: 'N' : invalid template argument for 'boost::mpl::integral_c', compile-time evaluatable constant expression expected It seems MSVC doesn't recognize A % B as an integral constant expression. What's the proper way of handling this? Cromwell Enage __________________________________ Do you Yahoo!? Yahoo! Domains � Claim yours for only $14.70/year http://smallbusiness.promotions.yahoo.com/offer