Если мне позволено сделать следующее:
template <typename T = int>
class Foo{
};
Почему мне не разрешено делать следующее в основном?
Foo me;
Но я должен указать следующее:
Foo<int> me;
С++ 11 представил аргументы шаблона по умолчанию, и сейчас они неуловимы для моего полного понимания.