Estoy tratando de escribirdedef un mapa unordered_ o std :: dependiendo de si hay bibliotecas TR1 disponibles. Pero no quiero especificar los parámetros de la plantilla. Por lo que he leído hasta ahora, las plantillas de definición de tipos sin argumentos no son posibles hasta que esté disponible el estándar oficial C++ 0x. Entonces, ¿alguien sabe una solución elegante para esto?Tipodef una clase de plantilla sin especificar los parámetros de la plantilla
#ifdef _TR1
#include <unordered_map>
typedef std::tr1::unordered_map MyMap; //error C2976: too few template arguments
#else
#include <map>
typedef std::map MyMap; //error C2976: too few template arguments
#endif
Consulte esta pregunta muy cercana: http://stackoverflow.com/questions/544842/c-typedef-ing-stl y las respuestas proporcionadas. Los typedefs de plantilla no son comandos válidos de C++ –
Benoit - Gracias, eso es exactamente lo que estaba buscando –
Pregunta muy similar: http://stackoverflow.com/questions/6907194/how-to-typedef-a-template-class Tiene otro respuesta que no se menciona aquí: "plantilla de alias" en C++ 11 – Jayesh