In file included from /usr/include/boost/units/io.hpp:28, from /usr/include/boost/units/systems/si/io.hpp:14, from 1.cpp:2: /usr/include/boost/units/quantity.hpp: In member function ‘boost::units::quantity& boost::units::quantity::operator=(const boost::units::quantity&) [with Unit2 = boost::units::unit >, boost::units::list >, boost::units::dimensionless_type> >, boost::units::homogeneous_system > >, boost::units::list > > > > > > > > >, void>, YY = double, Unit = boost::units::unit >, boost::units::list >, boost::units::dimensionless_type> >, boost::units::homogeneous_system > >, boost::units::list > > > > > > > > >, void>, Y = double]’: 1.cpp:17: instantiated from here /usr/include/boost/units/quantity.hpp:234: error: invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE’ /usr/include/boost/units/quantity.hpp:234: error: invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE’ In file included from /usr/include/boost/units/conversion.hpp:14, from /usr/include/boost/units/quantity.hpp:29, from /usr/include/boost/units/io.hpp:28, from /usr/include/boost/units/systems/si/io.hpp:14, from 1.cpp:2: /usr/include/boost/units/detail/conversion_impl.hpp: In static member function ‘static boost::units::quantity boost::units::conversion_helper, boost::units::quantity >::convert(const boost::units::quantity&) [with Unit1 = boost::units::unit >, boost::units::list >, boost::units::dimensionless_type> >, boost::units::homogeneous_system > >, boost::units::list > > > > > > > > >, void>, T1 = double, Unit2 = boost::units::unit >, boost::units::list >, boost::units::dimensionless_type> >, boost::units::homogeneous_system > >, boost::units::list > > > > > > > > >, void>, T2 = double]’: /usr/include/boost/units/quantity.hpp:193: instantiated from ‘boost::units::quantity::quantity(const boost::units::quantity&, typename boost::disable_if::type, boost::units::detail::is_non_narrowing_conversion, mpl_::bool_, mpl_::bool_, mpl_::bool_ >, typename boost::units::detail::disable_if_is_same::type>::type*) [with Unit2 = boost::units::unit >, boost::units::list >, boost::units::dimensionless_type> >, boost::units::homogeneous_system > >, boost::units::list > > > > > > > > >, void>, YY = double, Unit = boost::units::unit >, boost::units::list >, boost::units::dimensionless_type> >, boost::units::homogeneous_system > >, boost::units::list > > > > > > > > >, void>, Y = double]’ /usr/include/boost/units/quantity.hpp:237: instantiated from ‘boost::units::quantity& boost::units::quantity::operator=(const boost::units::quantity&) [with Unit2 = boost::units::unit >, boost::units::list >, boost::units::dimensionless_type> >, boost::units::homogeneous_system > >, boost::units::list > > > > > > > > >, void>, YY = double, Unit = boost::units::unit >, boost::units::list >, boost::units::dimensionless_type> >, boost::units::homogeneous_system > >, boost::units::list > > > > > > > > >, void>, Y = double]’ 1.cpp:17: instantiated from here /usr/include/boost/units/detail/conversion_impl.hpp:345: error: no matching function for call to ‘conversion_factor(boost::units::unit >, boost::units::list >, boost::units::dimensionless_type> >, boost::units::homogeneous_system > >, boost::units::list > > > > > > > > >, void>&, boost::units::unit >, boost::units::list >, boost::units::dimensionless_type> >, boost::units::homogeneous_system > >, boost::units::list > > > > > > > > >, void>&)’