Ошибка разыменования указателя в С++
#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++;
указатель указывает на "следующую" строку, которой нет. Как если бы был массив строк, но его ведь нет...
Естественно, разыменование ничего хорошего не дает.