O
Т.е. вот примерно так:
template<bool DoNotInstantiate,Если
/* magic */, ─────────────╮
X = some_bad_template<int>> │
│
╭────────────────────────────────╯
DoNotInstantiate == true
, то здесь мы должны сделать что-то, что предотвратит инстанцирование some_bad_template<int>
, можно решение специфичное для GCC, но чем универсальнее, тем лучше. Так же есть возможность править шаблон some_bad_template
, но в конце у него должны остаться некоторые дефолтные шаблонные параметры. X
может быть хоть тайпнеймом, хоть нон-тайп аргументом