virtual void print() = 0;
};
template<>
struct A<true> : A<false>
{
void print() final override { }
};
template <bool x>
struct B : A<x>
{
void print() override { }
};
int main()
{
B<false> bf;
B<true> bt; // how to fix compile error?
return 0;
}
Да, в интерфейсе A<false> есть еще примерно 6 функций, реализация которых требует примерно 80 строк очень нетривиального кода и, в частности, требует точный тип B<x>* для this
Обсуждают сегодня