Ich versuche, im Grunde 3 Dinge auf einmal hier zu tun: Überladen der Zuweisung Operator mit einer Vorlage, beschränken die Typen (mit boost::enable_if), und mit einem bestimmten Rückgabetyp.
Hier ein Beispiel:
template <class T>
std::string operator =(T t) { return "some string"; }
Jetzt, nach dem Aufschwung enable_if (Abschnitt 3, Aufzählungspunkt 1), müsste ich enable_if als Rückgabetyp verwenden, da ich einen Operator überlade, der nur ein Argument annehmen kann. Ich möchte jedoch, dass der Rückgabetyp eine Zeichenkette ist und daher nicht unbedingt denselben Typ wie das Vorlagenargument hat.
Ich möchte enable_if verwenden, einfach weil ich möchte, dass die Vorlage einfach übersprungen wird, wenn es kein gültiger Typ ist (und keinen Fehler auslöst).
Hat jemand eine Idee, wie man das bewerkstelligen kann?