Ошибка разыменования указателя в С++

#include <iostream>
using namespace std;

int main()
{
    string text = "Hello!";
    string* pointer = &text;  
    pointer++;

    cout << pointer << " - " << *pointer << endl;

    system("pause");
}

Здравствуйте. Почему когда я разыменовываю pointer вылетает ошибка?введите сюда описание изображения

А как можно, всё-ж таки узнать то значение?


Ответы (2 шт):

Автор решения: Zhihar

ошибка вылетает, когда вы пытаетесь сделать следующее

pointer++;
*pointer

у вас был указатель на объект (строка), вы прибавили к указателю 1 и теперь это уже непонятно что

→ Ссылка
Автор решения: Harry

После

pointer++;

указатель указывает на "следующую" строку, которой нет. Как если бы был массив строк, но его ведь нет...

Естественно, разыменование ничего хорошего не дает.

→ Ссылка