только сейчас мне пришлось прорываться через веб-сайт, чтобы узнать, почему функция члена шаблона шаблона шаблона давала синтаксические ошибки:
template<class C> class F00 {
template<typename T> bar();
};
...
Foo<C> f;
f.bar<T>(); // syntax error here
Теперь я понимаю, что скобки шаблона рассматриваются как реляционные операторы. Чтобы сделать то, что было предусмотрено, необходим следующий причудливый синтаксис, cf Шаблоны: функция шаблона не очень хорошо работает с функцией члена шаблона класса:
f.template bar<T>();
Какие еще причудливые аспекты и полученные вами шаблоны С++/С++, с которыми вы столкнулись, не были тем, что вы считаете общеизвестным?