I am trying to code a Singleton. When I compile it I get many undefined errors, like instance
and mutex_
in the getSingleton()
undefined reference to 'Singleton::instance'
undefined reference to 'Singleton::mutex_'
#include<iostream>
#include<string>
#include<mutex>
using namespace std;
class Singleton{
public:
static Singleton* getSingleton(){
if(instance == NULL){
mutex_.lock();
if(instance == NULL){
instance = new Singleton();
}
mutex_.unlock();
}
return instance;
}
private:
Singleton(){}
Singleton& operator =(const Singleton& ){}
static Singleton *instance;
static mutex mutex_;
};
int main(){
Singleton* singleton = Singleton::getSingleton();
return 0;
}