Betrachten Sie Folgendes:
%Vor%Ich möchte C so spezialisieren, dass C & lt; A & gt; bekommt eine Spezialisierung und C & lt; B & gt; bekommt das andere, basierend auf der Anwesenheit oder Abwesenheit des Typenamens T :: foo. Ist das möglich mit Typ-Traits oder einer anderen Template-Magie?
Das Problem ist, dass alles, was ich versucht habe, einen Kompilierfehler erzeugt, wenn C & lt; B & gt; weil B :: foo nicht existiert. Aber das möchte ich testen!
Bearbeiten: Ich denke, ildjarns Antwort ist besser, aber ich habe schließlich die folgende C ++ 11-Lösung entwickelt. Der Mensch ist es hacky, aber zumindest ist es kurz. :)
%Vor%Tags und Links c++ templates typetraits template-specialization