Die entscheidende Frage ist: was ist entries?
Im Falle beispielsweise eines vectors sollte das Anfügen von Elementen immer gelingen. Wenn es sich aber hingegen um ein multi_indexed_container handelt, so müssen die Elemente bereits im Moment des Einfügens nach mehreren Kriterien sortierbar sein und diese Kriterien dürfen nicht nachträglich geändert werden. Letzteres ist möglicherweise hier verletzt, wenn der Dateiname nachträglich (!) gesetzt wird.
Es spricht wahrscheinlich nichts dagegen, das Objekt zu erzeugen und die Eigenschaften nach der Erzeugung zu initialisieren und es erst dann in den Container einzufügen:
TFile tf;
tf.pathOfFile = itr->path().filename();
...
entries.push_back(tf);
Schöneres C++ wäre ein vernünftiger Konstruktor, der alle Eigenschaften ordnungsgemäß initialisiert:
TFile tf(itr->path().filename(), ...)
entries.push_back(tf);