Я видел это выражение на стр. 189 книги "Эффективный современный С++":
template<typename T,
typename = typename std::enable_if<condition>::type>
explicit Person(T&& n);
Мне просто интересно, что означает часть "typename =
". Он определенно выглядит как аргумент по умолчанию для параметра шаблона. Но вам не нужно что-то вроде "typename some_name = ...
" в аргументе по умолчанию? Нет имени для второго аргумента шаблона, и я не вижу в этом случае аргумент второго шаблона.
P.S. Когда я ищу в Google (или любой другой поисковой системе) для ответа, знак равенства всегда отбрасывается, и это просто делает поиск ответа практически невозможным...