И GCC (5.3.0) и Clang (3.8.0) согласен, что это правильный код:Требования (не-quite-) аргументы constexpr шаблона
constexpr std::integral_constant<size_t, 0> n{};
std::get<n>(std::make_tuple(123));
Однако они не согласны на это:
std::integral_constant<size_t, 0> n;
std::get<n>(std::make_tuple(123));
Clang нормально с ним, но сообщает НКУ «значение„N“не может использоваться в постоянном выражении»/«„п“не был объявлен„constexpr“».
Чье поведение соответствует стандарту?