我希望仅通过 Timer::create() 创建我的 Timer 对象。为此,我将构造函数设为私有。但是,在 new_allocator.h 的上下文中,我收到一个编译器错误,指出“Timer::Timer(unsigned int)' 是私有的”。我怎么解决这个问题?
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;