Доброго времени суток.
Разрабатываю на С++ довольно давно, особых проблем не испытываю, но вот столкнулся с задачей, которую не понимаю как решить, хотя она должна решаться легко. Подскажите пожалуйста есть ли какой то способ полностью отключить генерацию определённого участка кода в функции шаблона (так, как это было бы при применении препроцессора). Пример:
template <classT, bool alt = false>
Shablon
{
  void foo()
  {
      if (alt)
      {
         ((T*)this)->m_member.foo(); // ошибка компиляции если alt == false, и у класса T нет члена с методом foo.
         ((T*)this)->someFoo();
      }
      ((T*)this)->someFoo2();
  }
}