1
我想使用Boost.Units來表示以毫克爲單位的數量。我試圖將單位定義爲「毫升」。如果我寫爲什麼我在使用boost :: units :: make_scaled_unit和liter_base_unit時遇到編譯錯誤?
typedef boost::units::make_scaled_unit<
boost::units::si::volume,
boost::units::scale<10, boost::units::static_rational<-3> >
>::type liter;
typedef boost::units::make_scaled_unit<
liter,
boost::units::scale<10, boost::units::static_rational<-3> >
>::type milliliter;
代碼編譯罰款,但如果我代替我自己liter
與boost::units::metric::liter_base_unit
,然後則milliliter
定義失敗,出現「無型結構的boost ::單位命名爲‘類型’編譯:: make_scaled_unit「錯誤。 你能解釋我爲什麼嗎? make_scaled_unit
中的單位可以作爲基本單位還是我需要從boost::units::metric::liter_base_unit
製作派生單位?