Template de C ++
só agora eu tive que cavar através do site para descobrir por que a função de membro template template classe estava dando erros de sintaxe:
template<class C> class F00 {
template<typename T> bar();
};
...
Foo<C> f;
f.bar<T>(); // syntax error here
Agora percebo que os suportes de modelo são tratados como operadores relacionais. Para fazer o que se pretendia, é necessária a seguinte sintaxe bizarra, cf.Modelos: a função de modelo não funciona bem com a função de membro de modelo da classe:
f.template bar<T>();
Quais outros aspectos bizarros e pegadinhas dos modelos C ++ / C ++ que você encontrou que não eram algo que você consideraria ser de conhecimento comum?