类中包含自身静态成员怎么初始化

类中包含自身静态成员如何初始化?
class Person
{
private:
    string name;
    static const int age=20;
    static string address;
    static Person person1;
    Person *person2;
    //Person person3;
public:
    Person(const string&nm):name(nm)
    {}
    static string Address()
    {

        return address;
    }
    void Print()
    {
        cout<<name<<" is "<<age ;
    }
};
请问static Person person1; 如何初始化,我用构造函数初始化,怎么老是提示我static Person person1;是个私有成员?

------解决方案--------------------
静态成员要在类外初始化