[Перевод] «constexpr» функции не имеют спецификатор «const»
Просто хотел Вас предупредить: С++14 не будет обратно совместим с C++11 в одном аспекте constexpr функций. В С++11, если Вы определите constexpr функцию-член, то она неявно получит спецификатор const:// C++11 struct NonNegative { int i; constexpr int const& get () /*const*/ { return i; } int& get () { return i; } }; Первое объявление функции get получит спецификатор const, даже если мы не укажем это явно. Следовательно, эти две функции являются перегруженными: const и не-const версии. В С++14 это будет уже не так: оба объявления будут определять одиннаковую, не-const версию функции-члена с различающимися возвращаемыми значениями — это приведет к ошибке компиляции. Если Вы уже начали использовать constexpr функции и надеетесь на неявный спецификатор const, то я советую Вам начать добавлять его явно, чтобы Ваш код продолжал компилироваться, если Вы решите перейти на компиляторы С++14.Читать дальше →