2010-02-07 24 views
10

¿Alguien puede explicar por qué la especialización parcial no es válida para la plantilla de función, pero está bien para la plantilla de clase.especialización parcial de la plantilla de función

Entiendo que la especialización parcial puede confundir al compilador con la sobrecarga de funciones, pero aún necesito más información para hacerme entender totalmente. ¿Alguien puede ofrecerme algunos buenos ejemplos?

+0

Esto ya se ha cubierto bastante bien: http://stackoverflow.com/search?q=function+partial+specialization y http://www.google.com/search?q=function+template+partial+specialization proporcionar abundantes recursos. – Potatoswatter

Respuesta

10

En este caso, basta con confundirse.

Y existe una solución alternativa existente: la sobrecarga. El comité gastó mucho esfuerzo (me parece, no estaba allí) obteniendo la resolución de sobrecarga de funcionamiento trabajando para plantillas, y seguramente parte de la razón para eso incluía no tener que resolver el problema menos general, el problema de la plantilla de función especialización parcial.

1

Ahora, no soy un experto, pero creo que la respuesta a la primera parte es que la especialización parcial de funciones entraría en conflicto (y sería parcialmente redundante) con la sobrecarga de funciones. En cuanto a la segunda parte, puede usar una estructura de plantilla que sirve como contenedor para lo que desea especializar parcialmente.

Cuestiones relacionadas