Другие операции
К сожалению, вызов явно квалифицированного шаблона члена требует довольно сложного и редкого синтаксиса.
К счастью, это не так: в данном случае этот "довольно сложный и редкий синтаксис" не требуется.
В самом деле, если разрешено f<int>(); // f -- функция-шаблон
то почему вдруг компилятор не может правильно разобраться с obj.f<int>(); // f -- функция-шаблон, член класса
Может, и разбирается!
Исторически, непонимание возникло из-за того, что:
непосредственно этот туманный аспект использования квалификатора template был изобретен комитетом по стандартизации, а не д-ром Страуструпом;
первым компилятором, поддерживающим экспериментальные (на тот момент) нововведения, был aC++ от HP. Данный компилятор ошибочно требовал наличия квалификатора, что, вкупе с неочевидным текстом стандарта, не могло не ввести в заблуждение.
Дальнейшее развитие темы "сложного и редкого синтаксиса" можно найти в разделе B.13.6. template как квалификатор.