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