![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Syberex |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 15.9.2006 Где: Украина Репутация: нет Всего: нет |
Есть функция собственная
передаю ей указатель массива и слово посредством
всё работает супер, но когда я пытаюсь передать тоже слово которое нужно найти то очень сильно ругается компилятор когда уже стартует прога, но сразу компилит и ошибок не выдаёт. Делаю так
массиве все слова разделены энтером '\n'. в чём трабла? думаю как то не корректо идёт передача std но как надо чтоб работало? моя функция принимает в качестве параметра указатель на массив и указатель на слово, после этого ищет в массиве слова и подсчитывает количество их и адреса(позицию в массиве) заносит в массив где были найдены слова. не использую new потому, что в цикле переназначение длины массива, думаю с realloc быстрее и удобней. Это сообщение отредактировал(а) Syberex - 4.12.2006, 17:12 --------------------
whole power in artificial intelligences |
||||||
|
|||||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Syberex, а тэги кода? ну неудобно же читать...
Исправь, пожалуйста... |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Какой злой компилятор. Откомпилил, запустил и ругается! А если серьезно - то лияно я ничего не понял из вопроса. Например, что должна делать функция FindWordMass, на какой строчке выскакивает ошибка (и какая ошибка), и если не трудно воспользоваться тегами, чтобы код можно было нормально прочитать |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Это к чему? Во-первых, где выделение того, что ты удаляешь... Во-вторых, почему не new/delete? |
|||
|
||||
| Syberex |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 15.9.2006 Где: Украина Репутация: нет Всего: нет |
компилятор пишет что память не может быть рид, ну видно что-то не туда залезло.
Добавлено @ 17:16 free(mass2); это потому, что моя функция возвращает указатель на массив созданной функцией alloc --------------------
whole power in artificial intelligences |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
А ты проверяешь, что тебе realloc возвращает?
|
|||
|
||||
| Syberex |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 15.9.2006 Где: Украина Репутация: нет Всего: нет |
в первом случае всё правильно работает и выводит кучу значений правильных, это когда через cin , во втором случае уже бред какой то и ошибку выдаёт и воводит полный бред кучу нулей адресов явно не моих.
--------------------
whole power in artificial intelligences |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Syberex,
как минимум realloc может не сделать ничего! То есть не выделить тебе память под твои нужды... Ты должен это проверять.
А вообще, ИМХО... либо выдели про запас либо пользуйся new/delete с перевыделением по нужде. А вообще, чем тебе std::vector<...> не подходит под твои нужды? |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
realloc выделяет байты. А не long'и. realloc(answer,kolSlov) выделит kolSlov байт, а не long'ов. Для того чтобы выделить память достаточную для размещению kolSlov longов надо делать realloc(kolSlov*sizeof(long)).
здесь тоже надо домножить на sizeof(long). Правда лучше забить на эти сишные ф-ции и использовать -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |