Du hast zwar Konstruktor und Destruktor deklariert aber nicht definiert. Da du sie sowieso nicht definiert hast, löschen folgende Zeilen aus ScreenManager.h
Er hat diese Konstruktoren ja als private definiert. In sofern, ist es keine Lösung einfach diese Zeilen zu löschen.
Luca: Du scheinst hier ein Singleton-Pattern verwirklichen zu wollen. Und du solltest dir gut Überlegen, ob du das wirklich willst. Denn in der Regel kann man das Singleton-Pattern nur an der falschen Stelle verwenden
. Daher ist meine Empfehlung, auf Singleton zu verzichten und den Default-Konstruktor public zu machen(du musst ihn dann aber noch definieren(also eine Funktionsrumpf mit geschweiften Klammern für den Konstruktor und Destruktor schreiben). Je nach Funktionsweise deiner Klasse und ob du Kopien und Zuweisungen erlauben willst, können Copy-Konstruktor und Zuweisungsoperator jedoch private und undefiniert bleiben. Der Destruktor muss dann aber natürlich auch public sein(und definiert werden).