2017-01-19 4 views
1

si 시스템의 질량 유량에 대해 boost::unitsderived_dimension을 생성하려고합니다. 이 간단한 작업을 수행하는 방법에 대한 문서를 찾을 수 없습니다. 이것은 내가 지금까지 가지고 있지만 편집하는 동안 오류가 발생합니다.부스트 유닛에서 유도 된 유닛을 올바르게 정의하는 방법

mass_flow_rate MFR; 
quantity<mass_density> density = 1.0 * kilogram_per_cubic_meter; 
quantity<si::time> Time = 1.0 * second; 
quantity<volume> vol = 1.0 * cubic_meters; 
MFR = density * vol/Time; 

오류 : C2338 (is_simply_convertible :: 값 == true)가

답변

0

mass_flow_rate_dimension 잘못된 차원이

typedef boost::units::derived_dimension< 
boost::units::mass_base_dimension, 3, 
boost::units::time_base_dimension, -1 
>::type mass_flow_rate_dimension; 

typedef boost::units::unit< 
mass_flow_rate_dimension, 
boost::units::si::system 
> mass_flow_rate_unit; 

typedef boost::units::quantity<mass_flow_rate_unit, double> mass_flow_rate; 

BOOST_UNITS_STATIC_CONSTANT(kilogram_per_seconds, mass_flow_rate); 

이 내가 오류를 얻을 방법이다. 질량 대신에 3 분의 1 질량을가집니다.

typedef boost::units::derived_dimension< 
boost::units::mass_base_dimension, 1, 
boost::units::time_base_dimension, -1 
>::type mass_flow_rate_dimension; 

수정합니다. 이 오류는 크기가 정렬되지 않은 경우에만 의미가 있습니다.