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;