Timer オブジェクトを Timer::create() のみで作成したい。この目的のために、コンストラクターをプライベートにしました。ただし、new_allocator.h のコンテキスト内で「Timer::Timer(unsigned int)' is private」というコンパイラ エラーが発生します。どうすればこの問題を解決できますか?
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;