| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > malloc в Eclipse |
| Автор: bigturtle 3.3.2009, 17:52 | ||
Здравствуйте есть код в eclipse+mingw
invalid conversion from `void*' to `char*' подскажите пожалуйста, что за ошибка? что нужно делать? |
| Автор: Lazin 3.3.2009, 17:58 |
| открыть учебник и почитать про указатели и приведение типов |
| Автор: bigturtle 3.3.2009, 18:01 |
| Какой именно сейчас два передомной лежат 1- Бредли Л Джонс ..С за 21 день... 2-Герберт Шилдт ... Полный справочник по С... Пример взят из него стр 141. |
| Автор: nerezus 3.3.2009, 18:55 | ||
bigturtle, шилдт? не надо его читать лучше...
Подсказка: p - это char * а malloc() - это void* |
| Автор: Acer 3.3.2009, 19:13 | ||
и рядом положить англо-русский словарь |
| Автор: zim22 3.3.2009, 19:42 |
тут есть ответ: http://www.cplusplus.com/reference/clibrary/cstdlib/malloc.html |
| Автор: bigturtle 3.3.2009, 20:29 |
| Спасибо хоть один нормальный ответ! Книжки, книжки форум рулит! тут всегда правильно посоветуют. Единственное вопрос остается почему напечатано именно так char *p; p=malloc(100); вот из википедии dynamic_array = malloc(number_of_elements * sizeof(float)); if(!dynamic_array) { /* обработка ошибки выделения памяти */ } /* … работа с элементами массива … */ free(dynamic_array); dynamic_array = NULL; аналогично |
| Автор: bigturtle 3.3.2009, 20:33 |
| Ага |
| Автор: inside_pointer 4.3.2009, 03:30 | ||||
есть такой, ошибок там тонна, там даже есть такая запись
strtok проводит изменения со строкой и это не канает под опечатку, среди опечаток там, что более-менее похоже, освобождение элементов списка, когда две строчки не в том порядке стоят, из-за чего список освобождается сначала узел, потом его удаление, потом следующий за ним узел короче я не знаю насчёт C++, но в С он шарит плохо, там в книжке видно чужие коды ещё (очень много применяют gets в ужасном стиле, где почти на каждом шагу можно завалить программу), но его код там тоже есть и тоже не обременён интеллектом - интерпретатор C, где несколько функций выдаются за нечто грандиозное, да и запись операторов в одну строчку типа if (a) return 1; else return 0; или какие нибудь выражение посложнее в том же виде говорят об отладке и любовь к виндовс, ни слова про юникс, что тоже говорит об уровне зато очень хорошо написано про бинарные деревья, я много читал в инете про методы их обхода, ничего так и не поняв, а там с одного раза ясно - хорошо объясняет, но только то, что знает указатель заставляет тебя приводить компилятор для C++, в стандарте ANSI C указатель на void можно присваивать напрямую, как с приведением там и без (ещё с ним можно сравнивать), в стандарте C99 это не менялось, в C++ могло |
| Автор: xvr 4.3.2009, 14:50 | ||
В С это допустимо, в С++ - нет |