3
Я получаю ошибку компилятора Clang 3.8 и GCC 5.3, если я хочу объявить мои конструкторы по умолчанию default
как constexpr
. По this StackOverflow вопрос он просто должен работать нормально:constexpr default default constructors
struct A
{
constexpr A() = default;
int x;
};
однако:
Error: defaulted definition of default constructor is not constexpr
Есть ли у Вас какие-либо понятия, что на самом деле происходит?
Да я понял это в то же время. Этот ссылочный вопрос/ответ SO довольно неполный и вводящий в заблуждение. – plasmacel
@plasmacel принятый ответ покрывает требуемую информацию ... выделен жирным шрифтом ближе к концу, и объясняет, что если вы не пишете 'constexpr', то функция constexpr тогда и только тогда, когда она соответствует критериям для constexpr; а затем в последнем абзаце объясняется, что если вы можете написать 'constexpr' самостоятельно, если вы хотите получить ошибку компиляции, когда ваша функция не соответствовала критериям (так как ваша не делает) –