Если разрешены одноразовые простые изменения кода, вы можете просто переместить typedef в пространство имен deprecated
, требующее использования using namespace deprecated
в точках, которые используют typedef.
Если это не вариант, можно создать шаблон, который при создании экземпляра выдаст предупреждение, но я не знаю, как сгенерировать такое предупреждение не сразу:
template <class T>
class TypedefHolder;
template <>
class TypedefHolder<int>
{
typedef int WhateverType;
// Something that induces a compile warning.
};
так вместо:
typedef int WhateverType;
становится:
typedef TypedefHolder<int>::WhateverType WhateverType;