Witam.
Mam problem z singletonem. kod wygląda tak:
class single
{
private:
static single *instance[4];
single(){}
public:
static single* getInstance(int selector);
inline void metody();
};
single* single::getInstance(int selector)
{
if(instance[selector]==NULL)
{
instance[selector] = new single();
}
return instance[selector];
} /*<<-- ERROR undefined reference to `single::instance'*/
int main()
{
single *OB1;
OB1 = single::getInstance(0);
OB1->metody();
}
Idea działania jest taka, że przy tworzeniu obiektu OB1 za pomocą getInstance(0), ma mi się zapisać w pierwszej komórce instance adres do nowo utworzonej klasy. Powtórne wywołanie funkcji z tym samym parametrem ma zwracać utworzony adres, a zmiana parametru utworzyć nową i zapisać w kolejnej komórce.
Kod nie kompiluje się o dostaję błąd " undefined reference to `single::instance' "
Czekam na pomoc i pozdrawiam :)