| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [C++] Проблема при использовании указателей. |
| Автор: Haddingjar 14.10.2007, 21:17 | ||||
| Доброго времени суток! Начал изучать С++. В данный момент столкнулся с небольшой неприятностью... Вот код:
А вот процесс компилляции:
Не могли бы Вы "ткнуть носом" меня в ошибки? В каком месте я туплю? |
| Автор: sentry 14.10.2007, 21:41 |
| Просто при выполнении a = "123" указатель перескакивает на эту строку, хранящуюся в сегменте данных, а не заполняет твой созданный массив. А потом ты пытаешься удалить, собственно, строку "123", но поскольку ты ее не выделял и она хранится в неизменяемом сегменте, возникает ошибка. Добавлено через 6 минут и 39 секунд И еще: после возвращения из процедуры scpy a не будет содержать указатель на новый созданный там массив, так как указатель в процедуру был передан по значению. |
| Автор: Haddingjar 14.10.2007, 21:52 |
| Большое спасибо за ответ! Действительно, если заполнять созданные массивы поэлементно, то все работает корректно... Но мне все-же интересно, каким образом следует заполнять созданные массивы сразу одной строкой, указанной в двойных кавычках? Как бы Вы переписали вышеуказанный код? |
| Автор: Evjeny 14.10.2007, 22:05 | ||
Я бы сделал вот так:
|
| Автор: Dov 14.10.2007, 23:13 | ||
Или так:
|
| Автор: Haddingjar 15.10.2007, 20:52 | ||
| Огромное всем спасибо за помощь! Просто я многого захотел при работе с указателями =) Да и, скорее всего, недостаточно усвоил эту тему. Вариант работы с оными:
действительно работает, что и логично. |