?
Die vorgestellte Funktion ist VIEL zu lang, zu komplex, zu tief verschachtelt.
Das muss doch möglich sein, das Monstrum in kleinere Teilfunktionen zu zerlegen?
Also man kann ja nur vermuten, was die Funktion überhaupt tun soll.
Was soll denn geschehen, wenn man z.B.
Datei_EinLesen_Nomen(5, 12);
aufruft?
Es werden ja offenbar mehrere Dateien dabei eingelesen, womöglich gar mehrere 'Dateien-Paare', also könnte man die Funktion in einem ersten Schritt schon mal umbenennen:
DateiPaare_EinLesen(5, 12);
? Ist das so richtig in das Code-Fragment hineininterpretiert?
Zudem kann man nur mutmaßen, wie die Klasse 'CLektion' (?), deren Instanzen scheinbar FLektion_nomen_info[0-39] heißen, gebaut sein könnte ...
Sehr verdächtig ist auch
COUNT_ALL_nomen_info = getLines(FLektion_nomen_info[i]);
Ist getLines womöglich ein friend von CLektion, der auf die Interna einer(hoffentlich als Refernez-Parameter übergebenen) CLektion-Instanz zugreifen darf, um die Anzahl der dort speicherbaren Zeilen (?) herauszufinden?
Fragen über Fragen, aus dem nur schütter kommentierten Quellcode wird man einfach nicht schlau.
Auch
FLektion_nomen_info[i].c_str()
tut wohl eher nichts Vernünftiges (Konvertiert die Funktion womöglich den in Flektion_nomen_info[i] abgelegten std::string - Dateinamen in einen C-String? Scheint plausibel ...)
Insgesamt kann man nur raten, die Monster-Funktion in kleinere, überschaubare Einheiten zu zergliedern, und falls das partout nicht möglich sein sollte, dann zumindest den Quellcode besser zu kommentieren und auch das eine oder andere Wort über den Bauplan eines CLektion-Objektes zu verlieren.
mfg