В С++ 11, если операция static_assert в шаблоне зависит от того, был ли этот экземпляр создан или нет? Например, со следующим кодом
template <int I>
void sa() { static_assert(0,"Hello."); }
int main(int argc, char *argv[]) { return 0; }
GCC 4.5.0 не выполнит это утверждение и произведет "Привет". сообщение. С другой стороны, компилятор Digital Mars компилятор версии 8.42n не дает сообщений.