Tag-Versand wird erwähnt in Übergebenen Typ aus Vorlage wechseln .
Ist es möglich (und wenn ja, wie), etwas zu tun wie:
struct Tag1 {};
struct Tag2 {};
template<class T, typename R>
R get();
template<>
double get<Tag1>() {return 1.3;}
template<>
char const *get<Tag2>() {return "hello";}
double aDouble = get<Tag1>();
char const *aString = get<Tag2>();
Der obige Code führt dazu, dass sich der Compiler über einen zweideutigen Aufruf einer überladenen Funktion beschwert, aber ich hoffe, dass die letzten beiden Zeilen die Absicht der Verwendung vermitteln.
Vielen Dank