Funktion mit verschiedenen return Typen möglich?
-
Ich habe gehört, dass man nicht eigenmächtig eigene/neue Logik einbaut, wenn man etwas in eine Funktion auslagert
-
@Jockelx @Belli Ich habe gehört, daß
a
undb
alsint
s übergeben werdenif (a == b) return "Ok";
also:
std::ostream& magic_div(std::ostream &os, int a, int b) { if (a == b) return os << "Ok"; return os << (a / static_cast<float>(b)); )
-
@Swordfish Du hast wohl richtig gehört!
Ich hab einfach nur nach oben gescrollt und den ersten Code (von @It0101 ) übernommen.
Im ersten Post steht aber was von int.Deine Funktion finde ich aber trotzdem nicht gut. Die komplizierte Berechnung (a/b) würde ich in einer eigenen Funktion machen und die stream-Ausgabe in einer Anderen (mit dem berechneten Wert).
-
@Jockelx Dann musst wieder mit einem epsilon rumspielen ...
-
@Swordfish Mmh, ja, ist auch doof. Stimmt schon.
-
@Jockelx sagte in Funktion mit verschiedenen return Typen möglich?:
Ich hab einfach nur nach oben gescrollt und den ersten Code (von @It0101 ) übernommen.
Nein. Der Code des TE enthält keinerlei Datentypen, nur den static_cast auf float. Die Ints sind eine Erfindung vom Aquarium-Insassen
-
Dieser Beitrag wurde gelöscht!
-
@tecranovis sagte in Funktion mit verschiedenen return Typen möglich?:
Looks great an extraordinary for a C++ newbie like me.
But unfortunately my compiler does not support <variant> which seems to be a relatively new extension of the C++ standard.A 'variant' is just a 'union' or 'structure' containing some types and also an id of which type is current. Unions and structs are actually relicts of the C ancestry of C++.
-
@RBS2 Ja, und wenn Du eine blanke
union
zurückgibst hat der aufrufende Code keinen Plan welcher member active ist. Troll dich.
-
@Swordfish sagte in Funktion mit verschiedenen return Typen möglich?:
@RBS2 Ja, und wenn Du eine blanke
union
zurückgibst hat der aufrufende Code keinen Plan welcher member active ist. Troll dich.Deshalb sollte diese Union z.B. Teil einer Struct sein, die anzeigt was gerade gilt. Stell dich doch nicht absichtlich dumm.
-
@RBS2 sagte in Funktion mit verschiedenen return Typen möglich?:
Deshalb sollte diese Union z.B. Teil einer Struct sein, die anzeigt was gerade gilt.
Was ja üüüüüüberhaupt nicht mein Lösungsvorschlag abseits
std::variant<>
war. Tell me more .... Du ziehst fast jeden Thread wo Du Dich "einbringst" absichtlich in die Scheiße.
-
Dieser Beitrag wurde gelöscht!
-
Dieser Beitrag wurde gelöscht!
-
Dieser Beitrag wurde gelöscht!
-
Dieser Beitrag wurde gelöscht!