Можно ли определить два разных шаблона (по количеству аргументов шаблона) с одинаковым именем?
Вот что я пытаюсь сделать:
namespace MyNamespace
{
template<class TRet>
class FunctionObject
{
typedef typename TRet ReturnType;
virtual ReturnType const operator()() const = 0;
};
template<class TRet, class TArg0>
class FunctionObject
{
typedef typename TRet ReturnType;
typedef typename TArg0 FirstArgumentType;
virtual ReturnType const operator()(FirstArgumentType const &arg) const = 0;
};
}
Я получаю сообщение об ошибке, в котором упоминается слишком много шаблонов аргументы в конце закрывающей скобки определения второй структуры FunctionObject
.
Я знаю, что это можно сделать на C #, но не был уверен в C ++. Кто-нибудь может пролить свет здесь?