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.
Foopotrebbe 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 funzionefoocon un singolo parametro predefinito. Non puoi chiamarlo comefoo, lo chiami confoo(). Ha senso mantenerlo coerente.