Ich habe eine Funktion, die genau die gleichen Argumente annimmt, aber manchmal möchte ich, dass sie ein Double zurückgibt, und manchmal möchte ich, dass sie ein int zurückgibt. Was ist der richtige Weg, das zu tun?C++ Gibt double oder int von der Funktion
Ich könnte Funktion Überladung tun, aber die Deklarationen von überladenen Funktionen müssen voneinander durch die Typen und/oder die Anzahl der Argumente in der Liste der Argumente unterscheiden. Diese wären identisch, so dass Funktionsüberladung nicht zutrifft (glaube ich nicht).
double calc(int value, int add, double mult)
{
// Sometimes I want this to return int. Sometimes double.
return (value + add) * mult;
}
würde ich eher nicht int gegossen, wenn das die Art ist, erwarte ich oder zwei Funktionen schreiben (einen für ints, die andere für Doppelzimmer). Danke für jeden Hinweis.
Können Sie näher erläutern, unter welchen Umständen Sie ein 'int' gegen ein' double' wollen? – templatetypedef
Wie würden Sie diese Funktion verwenden? Können Sie Beispiele für beide Fälle angeben? – Andre
@templatetypedef - Ja, manchmal ist der mult arg 1.0, zu anderen Zeiten ist es 1.375 usw. Wenn es 1.0 ist, möchte ich einen int zurückgeben. Wenn es 1.375 ist, möchte ich ein Double zurückgeben. – 01100110