As far as I know make_pair
has the following prototype:
template<class Type1, class Type2>
std::pair<Type1,Type2> make_pair(Type1 first_value, Type2 second_value);
(Note: slightly different since C++11)
See also http://en.cppreference.com/w/cpp/utility/pair/make_pair.
This is also what the standard says in §20.3.3 [pairs.spec]
. So this must be an error in the book (or you may have overlooked something).