Error within this context?
-
Ich versuche eine Logger Klasse nach dem Singleton Entwurfsmuster zu schreiben.
Kosntruktor ist natürlich private, und der Zugriff erfolgt über getInstance();
Header:class Logger { private: Logger(); Logger(Logger const&); Logger& operator=(Logger const&); public: static Logger &getInstance(); };.cpp
Logger &Logger::getInstance() { static Logger _instance; return _instance; }main
Logger log = Logger::getInstance();Beim Aufruf in der main zeigt mit der Compiler folgenden Fehler an "within this context" ohne Zeilen oder Dateiangabe, kommentiere ich die Zeile aus kompiliert es. Bin über jede Hilfe dankbar.
-
"within this context" ist nicht die Fehlermeldung. Die ist deutlich länger, beginnt deutlich weiter vorne und beinhaltet garantiert die genaue Bezeichnung des Contexts sowie den eigentlichen Fehler.
-> Bitte poste den kompletten Fehleroutput.
-
Sehr häufiger Flüchtigkeitsfehler. Du versuchst, eine Kopie anzulegen, was natürlich durch den privaten Kopierkonstruktor nicht geht. Mach aus
logeinfach eine Referenz.
-
Hallo,
Versuchs mal so
Logger& log = Logger::getInstance();Du versuchst zu kopieren.
PS:
führende Unterstriche bei Variablennamen sind nicht so schön. Sowas ist normalerweise reserviert.
-
Der Copy-Konstruktor ist private und du versuchst außerhalb der Klasse darauf zuzugreifen... Wenn du die Fehlermeldung genau ließt steht das da bestimmt auch dabei

-
Vielen dank für die schnelle Hilfe, mit dem Referenzieren hat es geklappt!