Как избежать ошибок при использовании CRTP?

Используя CRTP , иногда я пишу такой код:

// this was written first
struct Foo : Base
{
   ...
};

// this was copy-pasted from Foo some days later
struct Bar : Base
{
   ...
};

И очень трудно понять, что идет не так, пока я не отслеживаю код в отладчике и убедитесь, что элементы Bar не используются в Base .

Как выявить эту ошибку во время компиляции?

(Я использую MSVC2010, поэтому могу использовать некоторые функции C ++ 0x и расширения языка MSVC)

15
задан Abyx 13 December 2010 в 16:26
поделиться