I tried to make the following singleton class in C++
#pragma once
#include "stdafx.h"
#include <iostream>
class God
{
private:
    static God* firstObject;
    God()
    {
        if (firstObject != NULL)
            firstObject = this;
    }
public:
    static God* BuildGod()
    {
        if (firstObject != NULL)
            return firstObject;
        else {
            God();
            return firstObject;
        }
    }
};
and then use it like so
God* a = God::BuildGod();
Unfortunatley, it won't even compile and it returned the following errors:
LNK2001 unresolved external symbol "private: static class God * God::firstObject" (?firstObject@God@@0PAV1@A)
LNK1120 1 unresolved externals
 
     
    