switch() in switch()



  • Hi
    Wieso kann man nicht ein "switch()" in ein "switch()" einbauen.
    Also ein Bsp.:

    cout<<"...";
    switch (Variable1);
    {
      case 1:
      {
        cout<<"...";
        cin>>Variable2;
        switch (Variable2)
        {
          case 1:
          {
            break;
          }
    

    Da gibt er mir aus "Duplicate case".Was kann ich da machen?Es müsste doch eigentlich funktionieren, da die zwei case doch nichts miteinander zu tun haben.



  • Ineinander verschachtelte switch()-Anweisungen sind erlaubt. (Zwei gleiche case-labels in einer switch sind nicht erlaubt.) Der Fehler muss wo anders liegen. Hast Du vielleicht ein bischen mehr Code??



  • -4- Switch statements can be nested; a case or default label is associated with the smallest switch enclosing it.

    aus dem ISO C++ Standard

    also muss es irgend wo am Code liegen oder an deinem Compiler. Welchen Compiler benutzt du den?



  • ACHTUNG

    switch (Variable1); <-

    du hast ein semikolon zuviel... weg damit 🙂



  • Hey stimmt, ich habe nur dieses Semikolon zuviel,sowas übersieht man sooo leicht.

    Und ja ich habe noch mehr Code,aber es lag an dem Semikolon.

    Vielen dank


Anmelden zum Antworten