Возможно, вы захотите сделать что-то похожее:
#ifdef Q_TREAT_OBSOLETE_AS_ERRORS
#define Q_OBSOLETE(X) \
BOOST_STATIC_ASSERT(false); \
X
#else
#define Q_OBSOLETE(X) X
#endif
Эта конструкция просто заменяет некоторый устаревший код / часть кода, если не определено Q_TREAT_OBSOLETE_AS_ERRORS
, и в противном случае генерирует ошибку времени компиляции.
Обратите внимание, что BOOST_STATIC_ASSERT
не имеет ограничений по объему, также как и макрос Q_OBSOLETE
.
Возможно, это не лучший способ решения вашей проблемы, и на самом деле я не уверен в этомполезно .
Вы можете просто пометить код как @obsolete
или просто указать его в комментариях.