I wrote a template class for a Singleton
singleton.cpp:
template<typename T>
class Singleton {
protected:
Singleton() = default;
public:
virtual ~Singleton() = default;
Singleton(const Singleton<T>&) = delete;
public:
Singleton& operator=(const Singleton&) = delete;
public:
static T& GetInstance() {
static T instance;
return instance;
}
}
And my logger class inherits this template
class Logger : public Singleton<Logger> {
private:
Logger();
public:
~Logger;
}
but when i call Application::GetInstance() I get an undefined reference undefined reference to `Singleton<Application>::GetInstance()