
Thanks for the link it was helpful. I tried both methods and they both compiled. It seems we can use the simpler form of decltype because it provides perfect forwarding. Is this a correct interpretation? Neither of these two typedef seems to behave as I expected. When creating a quantity with these typedefs I had to call them as a method to get the code to compile. quantity<si::velocity> a(2.3 * nautical_miles_per_hour1()); quantity<si::velocity> b(2.4 * nautical_miles_per_hour2()); quantity<si::velocity> c(2.5 * si::meters_per_second); Is there a way to get my type of nautical_miles_per_hour to behave like meters_per_second? Ryan //Provided for the Discussion using namespace boost::units; typedef metric::nautical_mile_base_unit::unit_type nautical_mile_unit; typedef metric::hour_base_unit::unit_type hour_unit; typedef decltype(nautical_mile_unit() / hour_unit()) nautical_miles_per_hour1; typedef divide_typeof_helper<nautical_mile_unit, hour_unit>::type nautical_miles_per_hour2;