Разъяснение об указателе на константу Foo, где Foo является структурой [дубликат]C++

Программы на C++. Форум разработчиков
Anonymous
Разъяснение об указателе на константу Foo, где Foo является структурой [дубликат]

Сообщение Anonymous »

Код:

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

struct Foo
{
int a = 0;
int const b = 1;
};

int main()
{
Foo f{};

Foo const *const_ptr_f = &f;
const_ptr_f->a++;               // error
}

// error: increment of member ‘Foo::a’ in read-only object
Я хочу знать, почему возникает ошибка.
Я считаю, что ошибка возникает потому, что const_ptr_f является указателем на константу Foo, поэтому (*const_ptr_f) является константой, и поэтому вы не можете изменить его значение.

Подробнее здесь: https://stackoverflow.com/questions/787 ... s-a-struct

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