Создание ошибки на моменте компиляции собственного класса

Как сделать так, чтобы при создании объекта(собственного класса) и его инициализации неправильным значением, к примеру, меньше 0(-23), выдавалась ошибка на моменте компиляции программы?


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

Автор решения: gbg

Сделать можно, если использовать шаблон:

template <std::size_t N>
constexpr void f() 
{
  static_assert(N == 42, "ERROR TEXT");
}

Пример на ideone

→ Ссылка