| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Не могу заставить работать этот код! |
| Автор: Deposit 17.10.2005, 18:17 | ||
| Дали мне код программы с ошибками, некоторые исправил, а оставшиеся не могу понять в чем причина? Правильно ли сделал, что закоментировал функцию ForEach? Помоему она тут не нужна...
|
| Автор: Дрон 17.10.2005, 18:25 | ||
Телепаты в отпуске Какие ошибки-то остались? |
| Автор: Deposit 17.10.2005, 18:34 |
| Вот эти ошибки: Error MY_PRO~1\ZADANI~3.CPP 38: Cannot convert 'void *' to 'char *' Warning MY_PRO~1\ZADANI~3.CPP 56: 'len' is assigned a value that is never use Warning MY_PRO~1\ZADANI~3.CPP 193: Unreachable code Error MY_PRO~1\ZADANI~3.CPP 206: Cannot convert 'void *' to 'char *' С использование malloc не знаком потому и не знаю как исправить... и еще, что значит унарная звездочка после LISTEL ? LISTEL *listel=(LISTEL *)malloc(sizeof(listel)); |
| Автор: Дрон 17.10.2005, 18:40 | ||||
| Deposit Warning -- это не ошибки а предупреждения. В malloc возвращает void*, а С++ (в отличие от Си) требует, чтобы void* явно приводился к нужному типу, т.е. надо писать так:
и так:
Это не "унарная звёздочка" Саму программу я не смотрел -- разбираться некогда, может ещё кто подскажет |
| Автор: Pogreb 18.10.2005, 00:54 | ||||
| Вот немного подредактированная прога. И еще у тебя нет описания функции func(); Пример использования malloc:
|
| Автор: Dov 18.10.2005, 06:05 | ||
Вот так у меня работает (VC++6.0)
|
| Автор: Deposit 19.10.2005, 15:07 | ||
| Всё работает, отлично, Благодарю Теперь надо добавить 2 элемента списка. (вес, возраст) Правильно ли будет описать эти переменные как целые? Или проще дописать в символьном типе?
|
| Автор: Deposit 19.10.2005, 16:05 | ||
| с целым типом не получается. Сделал элемент в char. Правильно ли заношу элемент в список?
|
| Автор: Pogreb 20.10.2005, 00:37 |
| Выглядит правильно. В malloc у тебя ошибки не выдает? Там вроде бы надо указывать sizeof()... |
| Автор: Deposit 20.10.2005, 14:24 |
| Pogreb Ошибки не выдает, но не выводит age на экран, вроде везде дополнил. А для чего sizeof() ? ведь есть sizeof для listel ... |
| Автор: Deposit 20.10.2005, 15:19 | ||
что не хватает в функции вывода? Поясните, почему не выводит age?
Добавлено @ 15:28 И еще, не могу до конца понять значений [b] head, tail, left, right. Обьясните русским языком какая их роль? |
| Автор: Dov 20.10.2005, 19:37 | ||||||||
Нужно так:
Добавлено @ 19:46
Почитай про двусвязные списки, например: http://doc.mpv.ru/steps/theory/knut/3.html |
| Автор: Deposit 20.10.2005, 20:00 |
| Ссылка про списки не работает. ? |
| Автор: Dov 20.10.2005, 20:13 |
| В Яндексе набери "двусвязный список" |
| Автор: B3cK 20.10.2005, 20:30 | ||
| Sizeof() надо при использовании malloc и calloc Ты указываешь размер подкоторый тебе надо выделить память.
m - это кол-во символов, а размер каждого char. |