In the curiously recurring template pattern, we write
template <class Derived>
class Base {
};
class Derived : public Base<Derived> {
};
What would be a good way to make the code robust another copy-paste omissions, so that the following snippet throws a compile-time error:
class AnotherDerived : public Base<Derived> {
};
I'm using Visual C++ 2013.