Кажется, я нашел кое-что, в чем не согласны Clang и GCC. Вот код:
int main() {
if constexpr (2) {}
}
Это успешно компилируется с GCC 7.4.0, но не с Clang 7.0.0 с этим сообщением об ошибке:
test.cpp:3:17: error: constexpr if condition evaluates to 2, which cannot be narrowed to type 'bool'
[-Wc++11-narrowing]
if constexpr (2) {}
^
1 error generated.
cppreference, похоже, не упоминает «сужение», так что это похоже на Clang ошибка, но я не совсем уверен. Если это ошибка любого из компиляторов, сообщалось ли об этом?
if constexpr (!!2) {}
? - person Jesper Juhl   schedule 27.02.2019!!2
работает с лязгом - person Indiana Kernick   schedule 27.02.2019