【发布时间】:2020-04-05 20:35:23
【问题描述】:
我有一个方法,我想强制用户在编译时最后调用它。 目前我有一个正确的实现,但它对运行时执行很有用。
有没有一种干净的方法可以在编译时检查这个问题(只需一次调用)?
static void set_logging_type(LOG_TYPE type)
{
static bool select_type_done{false};
if (!select_type_done)
{
log_type = type;
select_type_done = true;
return;
}
else
{
throw std::runtime_error("logging type is selected before!");
}
}
提前致谢。
【问题讨论】:
-
不,没有合适的方法来检查它。但是,您可以从静态变量中调用它 - 这减少了用户的要求。
标签: c++ g++ compile-time error-checking