2014-05-23 4 views
2

Что означает template<typename A B>? template<typename A, typename B> означает шаблон с двумя типами, но что означает первый? Я видел этот вид в STL Set Class. частностиtemplate <typename A B>

template <class _Key, 
      class _Compare __STL_DEPENDENT_DEFAULT_TMPL(less<_Key>), 
      class _Alloc = __STL_DEFAULT_ALLOCATOR(_Key)> 
class set; 
+0

Hi Vinay! Если вы нашли ответ полезным, не могли бы вы принять ответ, нажав на галочку рядом с ним? Он выражает сообществу, что вы нашли удовлетворительный ответ. :) – 0x499602D2

ответ

8

Это просто макрос, который либо имеет значение что-то вроде = less<_Key> или ничего в зависимости от того, поддерживает ли ваш компилятор аргументы шаблона по умолчанию.

+0

В общем, есть ли смысл для шаблона ? – Vinay

+2

@Vinay Нет, если 'A' и' B' не являются макросами, 'template ' является синтаксической ошибкой. – user657267

+0

Thankyou @ user657267 – Vinay

Смежные вопросы