Resultados de la búsqueda a petición "template-specialization"

1 la respuesta

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 ...

4 la respuesta

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> ...

1 la respuesta

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 ...

1 la respuesta

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 ...

5 la respuesta

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() { ...

4 la respuesta

¿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 ...

2 la respuesta

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) | ...

0 la respuesta

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 ...

2 la respuesta

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 @ ...

1 la respuesta

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(); ...