Preguntas etiquetadas con function-templates


4
¿Por qué la plantilla de funciones no se puede especializar parcialmente?
Sé que la especificación del lenguaje prohíbe la especialización parcial de la 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 f<int, char>() {} //allowed! template<typename T> void f<char, T>() {} //not allowed! …

2
¿Por qué esta función de plantilla no se comporta como se esperaba?
Estaba leyendo sobre las funciones de plantilla y me confundí con este problema: #include <iostream> void f(int) { std::cout << "f(int)\n"; } template<typename T> void g(T val) { std::cout << typeid(val).name() << " "; f(val); } void f(double) { std::cout << "f(double)\n"; } template void g<double>(double); int main() { f(1.0); …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.