KDevelop: sieht Syntaxfehler wo keine sind



  • Moin moin!

    Ich entwickle seit kurzem mit Qt4, für die Quelltexte verwende ich aber KDevelop. Wie ja auf dem beigefügten Bild zu sehen ist, wird die Syntax der forever-Schleife von der IDE bemängelt. Die Ausgaben des Programms lassen aber darauf schließen, dass die Syntax korrekt ist. Wie bringe ich KDevelop bei, die Syntax so hinzunehmen wie sie da steht?

    Bild

    KDevelop Version: 3.4.1

    thx im Voraus!



  • };



  • qkaiisod schrieb:

    };

    ;;;;;;;;;;;;;;;;



  • qkaiisod schrieb:

    };

    ja und????????????



  • }; steht in Zeile 16. Würde es nicht existieren, würde das Programm nicht kompilieren.



  • Das ; nach einer Block-} ist überflüssig. Das ist aber sicher nicht das Problem.

    WTF ist "forever"? Ich nehme an, KDevelop erwartet einfach eine öffnende runde Klammer oder ein Semikolon nach dem Ausdruck, der kein Schlüsselwort ist.



  • forever ist ein Macro von Qt4 und macht nix weiter als eine Endlosschleife zu produzieren. Die Syntax stimmt von vorne bis hinten, steht so in der Documentation von Trolltech drin.



  • Ja, aber die IDE (KDevelop) weiss offenbar nichts davon. Und da forever kein C++-Schlüsselwort ist, wird die IDE annehmen, dass es ein Bezeichner ist. Und nach einem Bezeichner erwartet die IDE innerhalb einer Funktion wohl keine öffnende geschweifte Klammer, sondern eher eine runde, eckige, einen Operator, etc..

    Das löst das Problem natürlich nicht, aber erklärt es vielleicht. Nutz doch am besten for (;;) statt forever, dann stimmt die Syntax (für KDevelop) und jemand, der sich nicht mit QT auskennt, sieht auch sofort, was gemeint ist 🙂



  • das traegt zwar eher nicht zur loesung bei, aber da "forever" blau dargestellt wird, wird kdevelop es kennen, denn blau werden normalerweise (oh wunder) qt-spezifische keywords dargestellt ...

    ich kann aber bestaetigen, dass es zuweilen vorkommt, dass kdevelop mit qt-spezifischer syntax nicht klarkommt und dann rote zeilen zeichnet, wo sie nicht hingehoeren ... was man da machen kann, weiss ich allerdings auch nicht.
    ich den kdevelop-sourcen rumpfuschen muss nicht sein ...

    mfg,
    julian



  • Ja, man könnte for(,,){} nehmen, man könnte auch while(true){} nehmen aber das löst nicht das Problem. Ich möchte das Problem an der Wurzel packen und lösen aber ich Ahne, dass die Lösung wie folgt heißt:

    Auf die nächste stable von KDevelop 4.0 warten -.-



  • 1nf1n1tY schrieb:

    Ja, man könnte for(,,){} nehmen, man könnte auch while(true){} nehmen aber das löst nicht das Problem.

    Man könnte ja auch einfach C++ nutzen statt ständig für irgendwas neue Schlüsselwörter zu erfinden 😡 . (Nichts gegen Dich, sondern gegen den Hang von QT, die Sprache zu vergewaltigen)


Anmelden zum Antworten