¿Es posible definir dos clases diferentes de plantilla (por número de argumentos de plantilla) con el mismo nombre?¿Plantillas de clase con nombres duplicados?
Aquí es lo que estoy tratando de hacer:
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;
};
}
me sale un error mencionar demasiados argumentos de plantilla al final del corchete de cierre de la segunda definición FunctionObject
estructura.
Sé que esto se puede hacer en C#, pero no estaba seguro sobre C++. Por favor alguien puede arrojar algo de luz aquí?
¿Qué quiere decir que se puede hacer en C#? C# no tiene plantillas. –
Creo que significan con genéricos en C#. –
Concepto de genéricos en C#. – user460762