Я хочу, чтобы мои объекты Timer создавались только с помощью Timer:: create(). Для этого я сделал конструктор закрытым. Тем не менее, я получаю ошибку компилятора, говоря, что "Timer:: Timer (unsigned int)" является приватным "в контексте new_allocator.h. Как я могу решить эту проблему?
class Timer {
private:
int timeLeft;
Timer(unsigned int ms) : timeLeft(ms) {}
public:
static std::vector<Timer> instances;
static void create(unsigned int ms) {
instances.emplace_back(ms);
}
};
std::vector<Timer> Timer::instances;