Syntaxkontrolle

Eine Funktionsdeklaration unterscheidet sich von einer Variablendefinition dadurch, daß nach dem Namen noch runde Klammern folgen:
Variable:
Code:
int iVar;
Funktionsdefinition:
Code:
int iFunc(){...}
Vorausdeklaration einer Funktion:
Code:
int iFunc();
 
Ich hab ne Idee ich mach es glaube ich anders.

Bei den geshcweiften Klammern merke ich mir einfach in welcher Zeile eine Klammer geöffnet wurde.
Das ist ein bisschen eingeschränkt, aber ich glaube das reicht soweit erstmal.
Denn dann kann ich beim schließen einer geschweiften klammer immer die Zeile der zuletzt geöffneten Klammer wieder schließen.
Wäre noch Fehlerhaft, aber effektiver und ohne zuviel Aufwand ist mir gerade nichts eingefallen.
 
Ich hab jetzt nicht alles gelesen, aber du solltest auch darauf achten dass das hier eine Fehler produziert:

Code:
int main( { )
    return 0;
}
 
Merk dir lieber bis zuwelcher Zeile das mit den } KLammern noch richtig war. Das ist nämlich nur eine Zahl und dein vorgehen könnte eine Unmenge an dynamischen erzeugen... Als Anfänger hat man da eine Riesige Fehlerquelle.

für den Hinweis von FireFlow sollte es reichen, wenn du testest, ob bei "{" noch runde offen sind. beim ersten überfliegen sollte das reichen.
Gruss Michael
 
Zurück