Salve a tutti.

Perchè la seguente scrittura è corretta:
codice:
class Pers
{
    private:
        static int tot;
    public:
        Pers(){ tot++;}
};
Mentre quest'altra genera in fase di linking 'undefined reference to `Pers::tot''

codice:
class Pers
{
    private:
        static int tot;
    public:
        Pers();
};

Pers::Pers()
{
    tot++;
}
? A me sembrano equivalenti... Ma una funziona e l'altra no, perchè?

Grazie