$ g++ transc.cpp In file included from /usr/include/boost/numeric/interval/hw_rounding.hpp:15:0, from /usr/include/boost/numeric/interval.hpp:18, from transc.cpp:12: /usr/include/boost/numeric/interval/rounded_arith.hpp: In instantiation of ‘T boost::numeric::interval_lib::rounded_arith_opp::int_down(const T&) [with T = double; Rounding = boost::numeric::interval_lib::rounding_control]’: /usr/include/boost/numeric/interval/arith2.hpp:40:49: required from ‘boost::numeric::interval boost::numeric::fmod(const boost::numeric::interval&, const boost::numeric::interval&) [with T = double; Policies = boost::numeric::interval_lib::policies, boost::numeric::interval_lib::checking_strict >]’ /usr/include/boost/numeric/interval/transc.hpp:62:32: required from ‘boost::numeric::interval boost::numeric::cos(const boost::numeric::interval&) [with T = double; Policies = boost::numeric::interval_lib::policies, boost::numeric::interval_lib::checking_strict >]’ transc.cpp:78:3: required from here /usr/include/boost/numeric/interval/rounded_arith.hpp:108:45: error: ‘to_int’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] /usr/include/boost/numeric/interval/rounded_arith.hpp:108:45: note: declarations in dependent base ‘boost::numeric::interval_lib::detail::c99_rounding_control’ are not found by unqualified lookup /usr/include/boost/numeric/interval/rounded_arith.hpp:108:45: note: use ‘this->to_int’ instead $