36 / 36 / 27
Регистрация: 05.11.2013
Сообщений: 149
|
||||||
1 | ||||||
Неправильный указатель25.12.2013, 23:50. Показов 3533. Ответов 5
Метки нет (Все метки)
Всем доброго времени суток. Возникла проблема со строками. Пытаюсь создать функцию которая будет удалять из строки все символы в заданном промежутке(она на удивление работает). Возник вопрос, когда я запустил ф-цию через отладчик то при создании указателя на новую строку в отладчике у меня появляется сообщение что создан неправильный указатель(как оказалось позже в функции мейн при создании строки тоже появляется такое сообщение), если не трудно подскажите почему указатель неправильный и как это исправить? вот код программы.
PS:В аналогичной функции для числового массива указатель содается правильно.
0
|
25.12.2013, 23:50 | |
Ответы с готовыми решениями:
5
Неправильный указатель string Неправильный указатель при отладке Ошибка "Неправильный указатель" Как получить ссылку на указатель или указатель на указатель в массиве? |
390 / 365 / 111
Регистрация: 03.02.2013
Сообщений: 1,120
|
||||||||||||||||
26.12.2013, 00:58 | 2 | |||||||||||||||
также эту дребедень - str = del(str,begin,end); и конечно
0
|
36 / 36 / 27
Регистрация: 05.11.2013
Сообщений: 149
|
|
26.12.2013, 20:13 [ТС] | 4 |
str 0xcccccccc <Неправильный указатель> - это выскакивает при создании указателя
CXX0030: ошибка: невозможно вычислить выражение - это код ошибки str 0x007e48a8 "ННННННННННННННННННННННээээ««««««««оюоюою" - это насколько я понял содержится в указателе
0
|
26.12.2013, 20:22 | 5 |
Что значит "выскакивает"? Ты ничего не делаешь и оно вдруг выскакивает? Или ты стоишь в отладчике на этой строке (str = new ..), просишь напечатать значение переменной и оно выскакивает? Если так, тот тут всё логично. Этот момент времени соответствует тому, когда значение ещё НЕ записано (т.е. ты стоишь на той точке, в которой операция ещё НЕ выполнилась)
Видимо, это уже после выполнения new. Память выделилась, но инициализирована мусором, т.к. ты туда ещё ничего не записал. Всё в порядке. Другими словами, в программе у тебя всё правильно, ты просто немного не так работаешь с отладчиком, или немного не верно интерпретируешь его порывы облегчить тебе жизнь
1
|
36 / 36 / 27
Регистрация: 05.11.2013
Сообщений: 149
|
|
26.12.2013, 20:40 [ТС] | 6 |
Спасибо за объяснение. Я думал что это я чтото не так делаю
0
|
26.12.2013, 20:40 | |
26.12.2013, 20:40 | |
Помогаю со студенческими работами здесь
6
А почему нельзя передавать в ф-ю добавления элемента в стек один указатель? Почему нужен именно указатель на указатель? Функция, принимающая указатель и число байт и выделяющая память под указатель Функция, получающая указатель на обычную функцию, получает указатель на метод класса Указатель типа void. Использование косвенного связывания через универсальный указатель Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |