constexpr { return 37; }()>::value;
приходится делать так:
constexpr auto x = []() constexpr { return 37; }();
return stuff<x>::value;
Понятно, что constexpr лямбда имеет шанс выполниться только в рантайме, но почему компилятор не может самостоятельно попытаться сделать аналог 2 варианта?
по тому что constexpr лямбда это инстанс, а не тип вместимо, с C++20 можно будет
интересно вообще почему второ вариант скомпилировался https://godbolt.org/g/mv9zas
кленг может в это https://godbolt.org/g/qdmZFt
Обсуждают сегодня