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

3 la respuesta

¿Por qué deben especializarse las especializaciones de plantillas?

Me refiero a esta respuesta: https://stackoverflow.com/a/4447057/930315 [https://stackoverflow.com/a/4447057/930315] Me encontré con un problema similar al OP de la pregunta citada, teniendo una función template<typename T> void func(T& val);y ...

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

3 la respuesta

¿Cómo especializar solo algunos miembros de una clase de plantilla?

Código: template<class T> struct A { void f1() {}; void f2() {}; }; template<> struct A<int> { void f2() {}; }; int main() { A<int> data; data.f1(); data.f2(); }; ERROR:test.cpp: In function 'int main()': test.cpp:16: error: 'struct A<int>' has ...

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