Ü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.

Antworten auf die Frage(17)

Ihre Antwort auf die Frage