Problem mit template
-
hui danke für die schnelle Antwort. daran lags

So, nächste Frage: Warum?
-
...
-
Swordfish schrieb:
Weil
using namespace std;alle Bezeichner des Namensraumsstdauch im globalen Namensraum bekannt macht. Und dabei kollidiert schlicht deinmax()mitstd::max().#include <iostream> template< typename T > T max( T a, T b) { if (a > b) return a; else return b; } int main() { using std::cout; cout << max( 1, 2 ); }
musste jetzt kurz überlegen aber stimmt ja! std hat ja auch ne max fkt, ganz vergessen

habs jetzt so gelöst
#include <iostream> using namespace std; template<typename T> T xy( T a, T b) { if (a > b) return a; else return b; } int main() { cout << xy(1, 2); return 0; }
-
...
-
Ich finds gut, er hat seinen Fehler nicht erkannt, aber durch einen größeren behoben.
xy ist für mich ein sehr aussagekräftiger und toller Funktionsname, den ich auch 7-8mal in meinem Programm hab.
-
fakka270390 schrieb:
...habs jetzt so gelöst...
Wie wäre es damit?
#include <iostream> //using namespace std; weg damit template<typename T> T max( T a, T b) { if (a > b) return a; else return b; } int main() { std::cout << max(1, 2); //std::cout anstatt cout return 0; }
-
Wie wärs, wenn er einfach die Funktion aus der Standard-Lib verwendet?
-
...
-
Ahh... sry ^^
Edit: Swordfish, keine herablassendes Kommentar? Womit habe ich das verdient
-
Zum lernen kann man doch gerne mal was aus der STL nachprogrammieren oO
Wieso wird das immer als schlecht geredet?
-
Skym0sh0 schrieb:
Wieso wird das immer als schlecht geredet?
Hab ich doch nicht! Ich habe das mit dem Lernen übersehen

-
Vogel, du !
Warum bist du eigentlich nicht in der Schule?
Machste wieder blau?
-
...
-
Swordfish schrieb:
Sone schrieb:
Swordfish, keine herablassendes Kommentar? Womit habe ich das verdient

War wohl zu subtil für dich. Zum nachlesen:
Sone schrieb:
[...] wenn er einfach die [...] Standard-Lib verwendest?
Swordfish schrieb:
Er verwendest sie bewusst nicht: [...]
Hab den Edit nicht gelesen.
Skym0sh0 schrieb:
Vogel, du !
Du hast Genie falsch geschrieben.
Warum bist du eigentlich nicht in der Schule?
Machste wieder blau?Ich bin in der Schule. Wir dürfen allerdings Laptops benutzen

-
...
-
Swordfish schrieb:
Sone schrieb:
Wir dürfen allerdings Laptops benutzen

Wozu dürft ihr sie denn Benutzen?
Das ist irrelevant. Sobald wir sie benutzen dürfen (für was auch immer), hat der Lehrer keine Kontrolle mehr, was wir nebenbei damit tun ...

Edit: Naja, vielleicht der Schul-Router....
-
-
...
-
Skym0sh0 schrieb:
Sone schrieb:
Skym0sh0 schrieb:
Vogel, du !
Du hast Genie falsch geschrieben.
Du auch, siehe hier.
Wenn es wenigstens lustig wäre..
-
Skym0sh0 schrieb:
Ich finds gut, er hat seinen Fehler nicht erkannt, aber durch einen größeren behoben.
xy ist für mich ein sehr aussagekräftiger und toller Funktionsname, den ich auch 7-8mal in meinem Programm hab.
ich hab schon erkannt wo der Fehler war. Finds nur doof aus dem namespace std alles einzeln mit using bekannt zu machen. da vermeide ich lieber die namen der Funktionen in std. wenn ich nur schnell mal was zusammentippe verwende ich meist namen wie xy weils ja nur zum ausprobieren is. wenn der code länger wird und es übersichtlich und lesbar bleiben soll benutz ich schon richtige namen oder zumindest kommentare aber bei 20 zeilen code erscheint mir das überflüssig