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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> malloc Нелепая ошибка 
:(
    Опции темы
Dufrense
Дата 9.10.2005, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

#include <stdio.h>
#include <stdlib.h>
#include "bmpheader.h"
#include "types.h"



int main(int argc, char* argv[])
{
    BITMAPFILEHEADER bfHead;
    BITMAPINFOHEADER biHead;
    FILE *bFile;
    bFile = fopen("clo160.bmp","rb");
    bfHead.Read(bFile);
    cout<<"------------BITMAPFILEHEADER------------"<<endl;
    bfHead.Show();
    biHead.Read(bFile);
    cout<<"------------BITMAPINFOHEADER------------"<<endl;
    biHead.Show();

    unsigned char *iPixels;

    unsigned int width;
    unsigned int height;

    width = biHead.biWidth;
    height= biHead.biHeight;

    iPixels = malloc(width * height * 3);  // Вот здесь ошибка

    fread(iPixels, 3, width * height , bFile);
    
    return 0;
}


Вылетает следущая ошибка:
I:\Program Files\DevStudio\MyProjects\algoritm\lab1\main.cpp(29) : error C2440: '=' : cannot convert from 'void *' to 'unsigned char *' Conversion from 'void*' to pointer to non-'void' requires an explicit cast
PM MAIL   Вверх
DeadSoul
Дата 9.10.2005, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Dufrense, нужно писать так
Код

iPixels = (unsigned char *)malloc(width * height * 3);

Далее, ты забыл free сделать.

Далее2. Ты используешь cout, значит пишешь на Си++. Тогда может лучше использовать std::fstream для чтения из файла и new+delete для управления памятью?



--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Dufrense
Дата 9.10.2005, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо за помощь
Я бы рад использовать fstream, по началу именно с ним все и делал, но в результате появилась проблема:
http://forum.vingrad.ru/index.php?showtopic=66674
Поэтому использую переменную типа FILE.
С new и delete еще не разбирался, попробую что-нибудь сделать. Спасибо за совет
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.0472 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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