I have this error when i compile my project using boost 1_79_0: error C2676: Binary '+': 'T' does not define this operator or a conversion to an acceptable type for the predefined operator in operators.hpp boost: Here is the problem: operators.hpp template<typename X,typename Y> struct add_typeof_helper { BOOST_TYPEOF_NESTED_TYPEDEF_TPL(nested, (typeof_::make<X>() + typeof_::make<Y>())) typedef typename nested::type type; }; I use visual studio 2017, language : C++ /std:c++latest Thank you in advance for your comments !