Se mi è permesso fare quanto segue:
template <typename T = int>
class Foo{
};
Perché non mi è permesso fare quanto segue in linea di massima?
Foo me;
Ma devo specificare quanto segue:
Foo<int> me;
C ++ 11 ha introdotto argomenti di template predefiniti e in questo momento sono sfuggenti alla mia completa comprensione.
Foo
potrebbe essere un identificatore di modello o potrebbe essere un'istanza esplicita a seconda che esista un argomento predefinito. Meglio mantenere la sintassi di istanza esplicita. Pensalo come una funzionefoo
con un singolo parametro predefinito. Non puoi chiamarlo comefoo
, lo chiami confoo()
. Ha senso mantenerlo coerente.