Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> malloc в Eclipse, че то ошибка 
:(
    Опции темы
bigturtle
Дата 3.3.2009, 17:52 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 27.1.2009

Репутация: нет
Всего: нет



Здравствуйте есть код в eclipse+mingw
Код

#include <stdio.h>
#include <alloc.h>
#include <stdlib.h>
int main() {
    
    char *p;
    p=malloc(100);//вот тут ошибка
    printf("Start\n");
    return 0;
}



invalid conversion from `void*' to `char*'

подскажите пожалуйста, что за ошибка? что нужно делать? 

PM MAIL   Вверх
Lazin
Дата 3.3.2009, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



открыть учебник и почитать про указатели и приведение типов smile 
PM MAIL Skype GTalk   Вверх
bigturtle
Дата 3.3.2009, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 27.1.2009

Репутация: нет
Всего: нет



Какой именно сейчас два передомной лежат 1- Бредли Л Джонс ..С за 21 день...   2-Герберт Шилдт ... Полный справочник по С... 

Пример взят из него стр 141.
PM MAIL   Вверх
nerezus
Дата 3.3.2009, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 3
Всего: 43



bigturtle, шилдт? не надо его читать лучше...

Цитата

invalid conversion from `void*' to `char*'
 тут есть ответ. Переведу тебе его на русский(но ты должен выучить английский, если хочешь стать программистом, это ОБЯЗАТЕЛЬНО): неверное преобразование из `void*' в `char*'

Подсказка:
p - это char *
а malloc() - это void*


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Acer
Дата 3.3.2009, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: нет
Всего: 8



Цитата(Lazin @ 3.3.2009,  17:58)
открыть учебник и почитать про указатели и приведение типов smile

и рядом положить англо-русский словарь smile
PM MAIL   Вверх
zim22
Дата 3.3.2009, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 24
Всего: 69



Цитата(bigturtle @  3.3.2009,  17:52 Найти цитируемый пост)
подскажите пожалуйста, что за ошибка? что нужно делать? 

тут есть ответ: http://www.cplusplus.com/reference/clibrar...lib/malloc.html


--------------------
PM MAIL   Вверх
bigturtle
Дата 3.3.2009, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 27.1.2009

Репутация: нет
Всего: нет



Спасибо хоть один нормальный ответ! 
Книжки, книжки форум рулит! тут всегда правильно посоветуют. 
Единственное вопрос остается почему напечатано именно так

char *p;
    p=malloc(100);

вот из википедии

dynamic_array = malloc(number_of_elements * sizeof(float));
if(!dynamic_array)
{
   /* обработка ошибки выделения памяти */
}
 
/* … работа с элементами массива … */
 
free(dynamic_array);
dynamic_array = NULL;


аналогично
PM MAIL   Вверх
Anikmar
Дата 3.3.2009, 20:32 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 59



Цитата(bigturtle @  3.3.2009,  20:29 Найти цитируемый пост)
Спасибо хоть один нормальный ответ! 
Книжки, книжки форум рулит! тут всегда правильно посоветуют. 
Единственное вопрос остается почему напечатано именно так


Книжки рулят!

А форум помогает!

Впервые вижу, чтобы С++ по википедии изучали  smile 

PM MAIL ICQ   Вверх
bigturtle
Дата 3.3.2009, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 27.1.2009

Репутация: нет
Всего: нет



Ага smile  я не по википедии ладно проехали всем спасибо, а в книжке то и написано..... так вот ошибка и произошла...
PM MAIL   Вверх
inside_pointer
Дата 4.3.2009, 03:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 9.3.2008

Репутация: 5
Всего: 12



Цитата(bigturtle)

Герберт Шилдт ... Полный справочник по С


есть такой, ошибок там тонна, там даже есть такая запись

Код

    p = strtok("Травка зеленеет, солнышко блестит", " ");
    printf(p);


strtok проводит изменения со строкой и это не канает под опечатку, среди опечаток там, что более-менее похоже, освобождение элементов списка, когда две строчки не в том порядке стоят, из-за чего список освобождается сначала узел, потом его удаление, потом следующий за ним узел

короче я не знаю насчёт C++, но в С он шарит плохо, там в книжке видно чужие коды ещё (очень много применяют gets в ужасном стиле, где почти на каждом шагу можно завалить программу), но его код там тоже есть и тоже не обременён интеллектом - интерпретатор C, где несколько функций выдаются за нечто грандиозное, да и запись операторов в одну строчку типа if (a) return 1; else return 0; или какие нибудь выражение посложнее в том же виде говорят об отладке и любовь к виндовс, ни слова про юникс, что тоже говорит об уровне

зато очень хорошо написано про бинарные деревья, я много читал в инете про методы их обхода, ничего так и не поняв, а там с одного раза ясно - хорошо объясняет, но только то, что знает

указатель заставляет тебя приводить компилятор для C++, в стандарте ANSI C указатель на void можно присваивать напрямую, как с приведением там и без (ещё с ним можно сравнивать), в стандарте C99 это не менялось, в C++ могло
PM MAIL   Вверх
xvr
Дата 4.3.2009, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(bigturtle @ 3.3.2009,  20:29)
Единственное вопрос остается почему напечатано именно так

char *p;
    p=malloc(100);

В С это допустимо, в С++ - нет

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0524 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.