В С++ запрещено задавать для шаблонной функции шаблонные параметры по умолчанию.
Т.е. нельзя написать:
template bool f( A a, B b = 0) { blablabla; }
Если было бы можно, то вызов f(1) сгенерировал бы функцию
bool f(int a, void * b = 0)
При этом аналогичный шаблон класса создать можно.
Штрауструп говорит, что если приспичило, то надо писать так:
template
(
Read more... )