2010-02-07 12 views
10

Kann jemand erklären, warum teilweise Spezialisierung nicht für Funktionsvorlage gültig ist, aber es ist in Ordnung für Klassenvorlage.teilweise Spezialisierung der Funktionsvorlage

Ich verstehe teilweise Spezialisierung möglicherweise den Compiler mit Funktionsüberlastung verwirrt werden, aber ich brauche noch mehr Informationen, um mich vollständig zu verstehen. Kann mir jemand ein nettes Beispiel geben?

+0

Dies wurde bereits ziemlich gut abgedeckt: http://stackoverflow.com/search?q=function+partial+specialization und http://www.google.com/search?q=function+template+partial+specialization reiche Ressourcen zur Verfügung stellen. – Potatoswatter

Antwort

10

Die Verwirrung ist in diesem Fall ein Grund.

Und es gibt eine bestehende alternative Lösung: Überladung. Das Komitee hat eine Menge Aufwand betrieben (es scheint mir, ich war nicht da), die Funktionsüberlastungsauflösung für Vorlagen zu bekommen, und sicher ein Teil des Grundes dafür war, dass ich das weniger allgemeine, harte Problem der Funktionsvorlage nicht lösen musste teilweise Spezialisierung.

1

Nun, ich bin kein Experte, aber ich denke, die Antwort auf den ersten Teil ist, dass Teilfunktion Spezialisierung Konflikt (und teilweise redundant) mit Funktionsüberlastung wäre. Wie für den zweiten Teil können Sie eine Vorlagenstruktur verwenden, die als Container für die Sache dient, die Sie teilweise spezialisieren möchten.

Verwandte Themen