Книга Stroustrup Book Contexpr Пример не компилируется в VS C ++ 2022C++

Программы на C++. Форум разработчиков
Anonymous
Книга Stroustrup Book Contexpr Пример не компилируется в VS C ++ 2022

Сообщение Anonymous »

Я пытаюсь воспроизвести пример ConstexPR из книги Stroustrup «Язык программирования C ++» 4th Ed, стр. 265-266. Я использую сообщество Visual Studio 2022. Приведенный ниже код не компилируется, с сообщением «Ошибка C2662:« point :: up (int) »: не может преобразовать« указатель из «const point» в «point & '
1> преобразование теряет квалификаторы "< /p>

Код: Выделить всё

struct Point {
int x, y, z;
constexpr Point up(int d) { return { x,y,z + d }; }
};

int main()
{
constexpr Point p{1, 2};
p.up(1);//fails here, no problem if constexpr is removed on the line above

return 0;
}
был бы благодарен за диагностику и объяснения

Подробнее здесь: https://stackoverflow.com/questions/794 ... -vs-c-2022

Вернуться в «C++»