Problem mit Singelton VS 8.0
-
Hallo
hab ein Problem bei der Anwendung des Singelton Pattern.
folgender Code
main.cpp#include "stdafx.h" #include "foobar.h" foobar::setFoobar(12); int _tmain(int argc, _TCHAR* argv[]) { foobar::getFoobar().dosth(); return 0; }foobar.h
class foobar { public: static foobar& getFoobar(); static void setFoobar(int var); void dosth(); private: foobar(void){} foobar(const foobar& op) {} static int m_localVar; public: ~foobar(void); };foobar.cpp
int m_localVar = 0; foobar& foobar::getFoobar() { static foobar instance; return instance; } void foobar::setFoobar(int var) { m_localVar=var; } void foobar::dosth() { // irgendein code }Der Compiler interpretiert leider den aufruf der statischen Methode setFoobar()
als redeklaration.Was mache ich da falsch?
-
Die Funktion einfach nicht außerhalb eines Funktionsblocks aufrufen!