Überladen Sie eine C ++ - Funktion entsprechend dem Rückgabewert
Wir alle wissen, dass Sie eine Funktion anhand der folgenden Parameter überladen können:
int mul(int i, int j) { return i*j; }
std::string mul(char c, int n) { return std::string(n, c); }
Können Sie eine Funktion entsprechend dem Rückgabewert überladen? Definieren Sie eine Funktion, die je nach Verwendung des Rückgabewerts unterschiedliche Werte zurückgibt:
int n = mul(6, 3); // n = 18
std::string s = mul(6, 3); // s = "666"
// Note that both invocations take the exact same parameters (same types)
Sie können davon ausgehen, dass der erste Parameter zwischen 0 und 9 liegt und keine Überprüfung der Eingabe oder Fehlerbehandlung erforderlich ist.