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?

questionAnswers(4)

yourAnswerToTheQuestion