Головоломка: Чтобы избежать проверки typeid

Я случайно сформулировал хороший вопрос для интервью. :)

template<typename T>
bool foo (T obj)
{
  if(typeid(T) == typeid(obj))
    return false;
  return true;  // <-- execute this
}

Вы должны вызвать (только упомянутое выше) foo () таким образом, чтобы он возвращал true . Условия следующие:

  1. Невозможно редактировать или перегрузить foo () или typeid
  2. Взлом, специфичный для платформы, не разрешен
  3. Нет #define разрешен
6
задан iammilind 18 May 2011 в 09:56
поделиться