У меня есть класс, который предположительно является базовым классом:
template<int ID>
class BaseClass { ... };
Как я могу сделать компиляцию- ошибка времени появляется, если два класса пытаются наследовать от этого базового класса, используя одно и то же значение ID. То есть - этот код должен работать:
class A : BaseClass<1> { ... }
class B : BaseClass<2> { ... }
Но этот код должен вызвать ошибку:
class A : BaseClass<1> { ... }
class B : BaseClass<1> { ... }
Как можно этого добиться? Помогает ли BOOST_STATIC_ASSERT?