Announcement

Collapse
No announcement yet.

error C2059: Syntaxfehler: ')'

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • error C2059: Syntaxfehler: ')'

    Hallo zusammen,
    erstmal großes Lob an das Forum, echt klasse

    Nun zu meinem Problem:
    Ich hab mich mittlerweile an C++ rangewagt und versuche über Visual C++ einen kleinen Rechner zu programmieren (erst einmal nur +, -, *, und /).
    Aber immer wenn ich das Programm starten will kommt die Fehlermeldung
    " error C2059: Syntaxfehler: ')' "
    Er gibt noch an, dass es in folgender Zeile geschieht:
    Code:
    if (reop == +) ;{
    Hier der komplette Quellcode (bewusst nur eine if-Anweisung aktiv, die anderen sollen auskommentiert sein.)
    Code:
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int zahl1, zahl2, ergebnis;
    	char reop;
    	
    	cout << "\nHier ein kleiner Rechner:\n" << endl;
    	
    	cout << "Gib hier die erste Zahl ein: " ;
    		cin >> zahl1; 
    	cout << "Gib hier den Rechenoperator (+, -, *, /) ein: " ;
    		cin >> reop;
    	cout << "Gib nun die zweite Zahl ein: " ;
    		cin >> zahl2;
    
    		if (reop == +) ;{
    		 ergebnis = zahl1 + zahl2;
    		  cout << zahl1 << " + " << zahl2 << " = " << ergebnis << endl;
    		}
    		
    	/*if ( reop == - );
    		{ ergebnis = zahl1 - zahl2;
    		  cout << zahl1 << " - " << zahl2 << " = " << ergebnis << endl;
    		};
    	if  reop == * ;
    		{ ergebnis = zahl1 * zahl2;
    		  cout << zahl1 << " * " << zahl2 << " = " << ergebnis << endl;
    		};
    	if (reop == /);
    		{ ergebnis = zahl1 / zahl2;
    		  cout << zahl1 << " / " << zahl2 << " = " << ergebnis << endl;
    		};
    	else { cout << "ungueltige Eingabe!" << endl; };
    	*/
    	return 0;
    }

  • #2
    Das Semikolon gehört da nicht hin
    Christian

    Comment


    • #3
      Ja, hatte es am Anfang auch nicht, aber wenn ichs nicht hinmachen kommt neben der oben genannten Fehlermeldung noch eine, und zwar, dass vor '{' noch ein ';' fehlt...
      Hat mich auch verwirrt.
      Also das Semikolon ist nicht das Problem.

      Comment


      • #4
        Wenn du es besser weisst


        Des Weiteren ist

        reop == +

        keine gültige Anweisung. Hmmm, wenn ich die Lösung schreibe wird die bestimmt auch nicht akzeptiert...
        Zuletzt editiert von Christian Marquardt; 15.04.2011, 16:44.
        Christian

        Comment


        • #5
          Du solltest dir erstmal die allgemeine Syntax von C++ anschauen. Dann erscheinen auch keine Syntaxfehler mehr, jedenfalls nicht solche.
          Ehrlich gesagt kenne ich keine Programmiersprache in welcher das Semikolon vor einer Geschweiften Klammer gesetzt wird.

          Dann natürlich noch der letzte Hinweis von Christian.

          Comment


          • #6
            Ehrlich gesagt kenne ich keine Programmiersprache in welcher das Semikolon vor einer Geschweiften Klammer gesetzt wird.
            In C# bei anonymen Methoden und und unter Umständen auch bei Lambdas. Wird demnächst dann mit C++0x in C++ also auch nötig/möglich sein.

            Comment


            • #7
              Originally posted by Ralf Jansen View Post
              In C# bei anonymen Methoden ... bei Lambdas.
              Hab mich mit beiden noch nicht beschäftigt.
              Originally posted by Ralf Jansen View Post
              demnächst dann mit C++0x in C++
              Ist das schon bei der ISO durch? Bin da nicht auf dem aktuellsten Stand.

              Comment


              • #8
                Ist das schon bei der ISO durch? Bin da nicht auf dem aktuellsten Stand.
                Nö. Darum sprach ich von demnächst.

                Comment


                • #9
                  Originally posted by Christian Marquardt View Post
                  Wenn du es besser weisst


                  Des Weiteren ist

                  reop == +

                  keine gültige Anweisung. Hmmm, wenn ich die Lösung schreibe wird die bestimmt auch nicht akzeptiert...
                  Ich hab ja nicht gesagt, dass ich es besser weiß, nur was für eine Fehlermeldung ich bekomme
                  Habs mittlerweile aber hinbekommen, da hät ich auch gleich drauf kommen können :P :
                  Code:
                  if (reop == '+') {
                  Trotzdem danke!

                  Comment


                  • #10
                    Ich hab ja nicht gesagt, dass ich es besser weiß
                    zu

                    Also das Semikolon ist nicht das Problem.
                    nunja...
                    Christian

                    Comment


                    • #11
                      Ja, ich weiß ja dass da kein Semikolon hingehört, jedoch ging es ja um den besonderen Syntax und der wurde ja nicht durch das Semikolon ausgelöst.
                      Ich hab ja selbst keine Ahnung weshalb mir der Compiler den Fehler ausgespuckt hat :P

                      Comment

                      Working...
                      X