id-генератор в многофайловом проекте

Я только начал изучать возможности создания многофайловых проектов в С++ и столкнулся с проблемой - при попытке написать id-генератор для объектов класса, Visual Studio выдает ошибку:

Ошибка LNK2001 неразрешенный внешний символ "private: static int A::Count" (?Count@A@@0HA)

Я прочитал, что использование ключевого слова static запрещает использовать переменную в других файлах проекта, но как в таком случае можно реализовать id-генератор?

Заголовочный файл:

//classA.h
#pragma once
    
class A
{
private:
    static int Count;
    int id;
public:
    A();
};

Файл исходного кода:

//classA.cpp
#include "classA.h"

A::A()
{
    Count++;
    id = Count;
}

Ответы (0 шт):