Range based for loop



  • Hallo,
    ich habe folgendes Progrämmchen:

    #include <vector>
    #include <iostream>
    using namespace std;
    
    int main(int argc, char* argv[])
    {
      vector<int> v {1,2,3,4,5,6,7,8};
      cout << v.size() << endl;  // Ausgabe: 8
      for(auto i : v) {
        cout << "i: "<< i;
      }
    
      return 0;
    }
    

    Die Schleife wird leider gar nicht ausgeführt.

    Ich kompiliere mit: g++ -std=c++11

    g++ Version ist 4.9.0 20140507, range based for loop wird AFAIK seit 4.6 unterstützt.

    Woran könnte es liegen, dass die Schleife nicht will?

    Danke!



  • Der gezeigte Code ist einwandfrei. -> Das ist nicht der Code den du verwendest. Code 1:1 kopieren, nicht abtippen.



  • Danke für den "Hilfe". Meinst Du ehrlich ich tippe den Code ab, wenn ich ihn auf dem Computer habe??

    Habe es jetzt auch ohne Deinen wertvollen Ratschlag hinbekommen. Das Problem war ein fehlendes Newline nach der Ausgabe im Zusammenhang mit dem Emacs Shell Mode.



  • Horus107 schrieb:

    Danke für den "Hilfe".

    Gern geschehen.

    Meinst Du ehrlich ich tippe den Code ab, wenn ich ihn auf dem Computer habe??

    Sehr viele machen das, besonders wenn man ein Beispiel kürzt.

    Habe es jetzt auch ohne Deinen wertvollen Ratschlag hinbekommen.

    Ich meinte ja nur: Du willst Hilfe von uns. Um diese Hilfe zu geben brauchen wir vernünftige Informationen.

    Das Problem war ein fehlendes Newline nach der Ausgabe im Zusammenhang mit dem Emacs Shell Mode.

    Wie ich sagte: Der gezeigte Code ist einwandfrei.



  • Nathan schrieb:

    Meinst Du ehrlich ich tippe den Code ab, wenn ich ihn auf dem Computer habe??

    Sehr viele machen das, besonders wenn man ein Beispiel kürzt.

    Eine Frage, ob es abgetippt wurde käme anders rüber als eine Feststellung bzw. Unterstellung.

    Habe es jetzt auch ohne Deinen wertvollen Ratschlag hinbekommen.

    Ich meinte ja nur: Du willst Hilfe von uns. Um diese Hilfe zu geben brauchen wir vernünftige Informationen.

    Ich habe alle Informationen gegeben, die mir zu dem Zeitpunkt relevant erschienen. Ein vollständiges, lauffähiges Problem und die genaue Compilerversion. So vernünftige Informationen gefehlt haben, hätte ich die auch gerne auch Nachfrage geliefert

    Das Problem war ein fehlendes Newline nach der Ausgabe im Zusammenhang mit dem Emacs Shell Mode.

    Wie ich sagte: Der gezeigte Code ist einwandfrei.

    Das war der hilfreiche Teil der Antwort.

    Viele Grüße...

    P.S. Sorry für Posting in der falschen Gruppe, sollte nach C++. Habe mich wohl irgendwie durch das C++ in der Forengruppierung-Wurzel irritieren lassen.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (C89, C99 und C11) in das Forum C++ (auch C++0x und C++11) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Horus107 schrieb:

    Danke für den "Hilfe". [...]
    Habe es jetzt auch ohne Deinen wertvollen Ratschlag hinbekommen.

    Horus107, nimm solche Sachen nicht persönlich. Hier kommen so viele Leute vorbei, die ihr Problem nicht sinnvoll beschreiben können, sodass Nathan mit seinem Hinweis völlig Recht hat. Wenn der Hinweis nicht zutrifft, umso besser -- kein Grund ihn als Unterstellung anzusehen und sich über gut gemeinte Hilfe lustig zu machen.


  • Mod

    sodass Nathan mit seinem Hinweis völlig Recht hat.

    Nein, er hat Unrecht, jemanden so etwas direkt und grundlos zu unterstellen, unabhängig davon was irgendwelche anderen Fragesteller irgendwann mal gemacht haben.
    Ist natürlich nicht weiter schlimm, nur Unrecht hat er durchaus.

    Adequater wäre es gewesen, zu fragen ob er denn den Code direkt kopiert hat - es hätte auch ein Bug sein können, schließlich ist das ein Snapshot.

    Wie gesagt - ist nur eine Kleinigkeit und nicht weiter nennenswert.



  • Arcoth schrieb:

    jemanden so etwas direkt und grundlos zu unterstellen

    Machen wir nicht ein bisschen ein Theater draus? Er sagte "Code 1:1 kopieren, nicht abtippen". Schon der Begriff "Unterstellung" ist gewagt, und grundlos war es definitiv nicht.

    Aber ja, bringt wohl nicht viel hier noch lang drüber zu diskutieren 😉


  • Mod

    Er sagte "Code 1:1 kopieren, nicht abtippen".

    Du vergisst den essenziellen Teil: "-> Das ist nicht der Code den du verwendest." Das ist eine Unterstellung.

    Gut, ich gebe auf, weil ich jetzt schlafen gehe. Hoffentlich träume ich nicht davon, einen zwanzigseitigen Thread mit Nexus über die angemessene Kommunikation im Forum zu fabrizieren. Gut Nacht!


Anmelden zum Antworten