Abgesehen davon: Wieso ist VectorGlobTextureUnitIter ein Member, wofür das int A = NULL im Konstruktor (in C++ verwendet man übrigens eher einfach 0 oder noch besser nullptr anstatt NULL). Statt dem if not empty und erase all kannst du wohl einfach ein clear() machen; da es sich aber sowieso um den Konstruktor handelt, könntest du den vector aber sowieso einfach direkt wie gewünscht initialisieren, anstatt ihn erst zu leeren (er ist sowieso schon leer) und dann eine 0 reinzupushen. Das clearen im Destruktor ist auch unnötig weil passiert automatisch, da sowieso der Destruktor des vectors aufgerufen wird. O kannst du wohl auch gleich mit VectorGlobTextureUnit.back() initialisieren. Und du solltest dir angewöhnen, die Prefixvariante des Inkrement Operators (++x) – wenn möglich – gegenüber der Postfix Variante (x++) zu bevorzugen, da letzteres, zumindest im Falle von komplexeren Objekten, potentiell unnötiges Kopieren des Objekts zur Folge haben kann.
Was dein Problem betrifft, so hört sich mir das sehr danach an, dass du irgendwo eine Methode deiner TextureUnit Klasse über einen Nullpointer aufrufst...