string nicht erkannt in VC++ 2010



  • danielgott schrieb:

    Interessant ist nur noch, warum ich die einzelnen strings mit cin>> einlesen kann, anstatt mit getline(),

    Du kannst strings immer mit cin>> einlesen. Du kannst strings auch immer mit getline einlesen. Geht beides, macht aber was unterschiedliches. Gib mal "Herbert Müller" in einer Zeile ein und schau, was getline oder eben op>> draus machen.

    Aber auch das sollte in dem Lehrbuch stehen, das du dir wirklich besorgen solltest.



  • ok, verstehe schon, vielen Dank für die Erklärung, ich habe eigentlich auch ein halbwegs gutes Buch (spielend C++ lernen), hier werden jedoch Vieles nur grundlegend erklärt, da es für Kinder ab 12 geschrieben ist 😉 bin aber bald durch und werd mir dann wohl eines zur 3D-Programmierung kaufen...



  • danielgott schrieb:

    bin aber bald durch und werd mir dann wohl eines zur 3D-Programmierung kaufen...

    Ich würd dir schwer empfehlen erstmal die C++ Grundlagen zu festigen. Wenn du dich an die Spieleentwicklung wagen willst, dann hol dir SFML und mach erstmal sowas wie Pong 😉



  • danielgott schrieb:

    hier werden jedoch Vieles nur grundlegend erklärt, da es für Kinder ab 12 geschrieben ist 😉 bin aber bald durch und werd mir dann wohl eines zur 3D-Programmierung kaufen...

    Wenn du nicht gerade ein Kind ab 12 bist, solltest du dir danach vielleicht ein C++-Buch für etwas größere besorgen 😉 Mit 3d-Kram solltest du erst anfangen, wenn du C++ richtig kannst und verstanden hast.

    (Buchempfehlungen gibts in der FAQ)



  • Das Buch ist eig ganz gut, ich hab nur gerade ein Jahr Pause gemacht, deshalb muss ich mich erst wieder mal ein wenig einarbeiten...

    Und eig bin ich ja auch ein Kind ab 12 (16)...;D



  • danielgott schrieb:

    Ich glaub ich werd mir das mit dem std:: jetzt angewöhnen, hatte using namespace std; nämlich nur in der Hauptfunktion stehen...komisch nur dass es mit char funktioniert hat, aber warscheinlich brauch das kein std::...

    Ein schlechter Scherz!? char gehört zu den eingebauten Integralen Typen von C++ wie int, float, usw. Der Namensraum std ist nur für Bezeichner von Klassen und Funktionen aus C++-Standard Headern. std::string ist ein typedef auf std::basic_string<char> (wstring eines auf std::basic_string<wchar_t>) und diese Klasse ist die "eigentliche" String-Klasse, und wie gesagt - im Namensraum std deklariert.

    Edit: Hast du früher mal mit C programmiert? Da gab es keine Namensräume.



  • ok, das erklärt einiges, hab ich leider nicht gewusst weil in meinem Buch ganz am Anfang mal drinnen steht einfach immer using namespace std verwenden dann gibts keine Probleme näher wird darauf nicht eingegabngen



  • danielgott schrieb:

    ok, das erklärt einiges, hab ich leider nicht gewusst weil in meinem Buch ganz am Anfang mal drinnen steht einfach immer using namespace std verwenden dann gibts keine Probleme näher wird darauf nicht eingegabngen

    Ach du Scheiße! Du hast doch keins von Jürgen Wolf?!



  • Ich hab die völlig unnötigen Sinnfrei-Beiträge mal abgetrennt und in den Müll verschoben. Bitte beim Thema bleiben, zumüllen und beleidigen könnt ihr euch per Mail.

    @Topic:
    danielgott, wenn sowas in deinem Buch steht, würde ich das nicht als besonders gut bezeichnen. Das mag für die allerersten Gehversuche vielleicht ausreichen, aber so ca. 20 Seiten später sollte man schon ein wenig mehr über namespaces wissen als "nimm einfach using namespace std und alles ist gut". Besorg dir wirklich ein gutes Lehrbuch - kein Kinderbuch 😉



  • pumuckl schrieb:

    Ich hab die völlig unnötigen Sinnfrei-Beiträge mal abgetrennt und in den Müll verschoben. Bitte beim Thema bleiben, zumüllen und beleidigen könnt ihr euch per Mail.

    @Topic:
    danielgott, wenn sowas in deinem Buch steht, würde ich das nicht als besonders gut bezeichnen. Das mag für die allerersten Gehversuche vielleicht ausreichen

    Muss nicht besser von Anfang an std::cout verwendet werden? Da gewöhnt man sich nichts anderes an, wenn man das mit den Namespaces nicht gleich versteht.



  • Hacker schrieb:

    Da gewöhnt man sich nichts anderes an, wenn man das mit den Namespaces nicht gleich versteht.

    Wenn man das mit den Namespaces nicht versteht hat man ganz andere Probleme 😉 Die Grundlagen* von namespace sind so simpel, dass man sich ernsthaft überlegen sollte ob man nicht lieber backen oder stricken will, wenns da schon hapert.

    _____________________
    * Ich meine die absoluten Grundlagen. Ohne ADL und all sowas.


Anmelden zum Antworten