Resultados de la búsqueda a petición "template-specialization"
std :: especialización hash usando sfinae?
Como ejercicio, intentaba ver si podía usar SFINAE para crear unstd::hash especialización parastd::pair ystd::tuple cuando todos sus parámetros de plantilla son de un tipo sin signo. Tengo un poco de experiencia con ellos, pero por lo que ...
Parcialmente especializadas implementaciones de funciones miembro
Actualmente estoy refactorizando algún código que explícitamente se especializa en una función miembro de una plantilla de clase con dos parámetros de plantilla. template <class S, class T> class Foo { void bar(); }; template <class S, class T> ...
La función de plantilla especializada con el caso "general" eliminado no se compila con g ++ <= 4.8.0 y clang ++
Al compilar un proyecto con una versión anterior de g ++ (4.8.0, MinGW) descubrí que este código no se compila: template<typename T> void foo() = delete; template<> void foo<int>(){} int main() { foo<int>(); return 0; }Parece que g ++ ni ...
Prioridad de especialización de plantilla de clase / ambigüedad
Mientras intentaba implementar algunas cosas confiando en plantillas variadas, me topé con algo que no puedo explicar. Reduje el problema al siguiente fragmento de código: template <typename ... Args> struct A {}; template <template ...
especialización parcial de plantillas de funciones
En el fragmento de código a continuación, template<typename T1> void func(T1& t) { cout << "all" << endl; } template<typename T2> void func(T2 &t) { cout << "float" << endl; } // I do not want this // template<> void func(float &t) int main() { ...
¿Por qué la plantilla de función no puede ser parcialmente especializada?
Sé que la especificación del lenguaje prohíbeparcia especialización de plantilla de función. Me gustaría saber la razón por la que lo prohíbe. ¿No son útiles? template<typename T, typename U> void f() {} //allowed! template<> void ...
La especialización de plantillas de funciones en estándar para tipos definidos por programas ya no se permitirá en C ++ 20?
Cita de cppreference.com [https://en.cppreference.com/w/cpp/language/extending_std]: Agregando especializaciones de plantillas e permite agregar especializaciones de plantilla para cualquier biblioteca estándar | clase (desde C ++ 20) | ...
Especialización parcial de la plantilla de variable estática en la plantilla de clase
Si hago especialización parcial, obtengo resultados diferentes de clang y g ++. template < typename T> class X { public: T i; X(T _i): i{_i}{} operator T(){ return i; } }; template < typename T2 > class Y { public: template <typename T> static ...
función error de compilación de especialización de plantilla
##A.hh template<class T> void func(T t) {} template<> void func<int>(int t) {} void func2(); ##A.cpp void func2() {} ##main.cpp func("hello"); func(int());El error que obtengo es: error LNK2005: "void __cdecl func (int)" (?? $ func @ H @@ YAXH @ ...
especialización de plantilla de c ++ - error de enlazador múltiples definiciones
Mi tercera pregunta aquí hoy ;-), pero soy realmente nuevo en la programación de plantillas c ++ y la sobrecarga del operador. Estoy intentando lo siguiente: terminallog.hh //snipped code class Terminallog { public: Terminallog(); ...