I need some help

Started by
3 comments, last by loloh 22 years, 6 months ago
I have that : ... GLuint LoadTexture( const char * filename, int wrap ) { int width, height; BYTE * data; FILE * file; file = fopen( filename, "rb" ); if ( file == NULL ) return 0; width = 256; height = 256; data = malloc( width * height * 3 ); //error with data fread( data, width * height * 3, 1, file ); fclose( file ); .... } ... and I have an error that I really don''t understand : cannot convert from ''void *'' to ''unsigned char *'' can you describe me why this is wrong ?
Advertisement
fread((void*) data, width * height * 3, 1, file );

should do it. if not, then do

fread((void) data, width * height * 3, 1, file );

bascially, "void *" means it just wants a memory address, and it couldnt care less what type of memory it points to, so yeah, just shove (void*) or (void) infront of "data" and it will work.


MEBTAL
thanks for your help
but the error is from this line :
data = malloc( width * height * 3 );

I tried your suggestion but that don''t work
  data = (BYTE *) malloc(width * height * 3);  

Try to stay away from using the Win32 typedefs (like BYTE) in code that doesn''t have anything to do with the Win32 API. I guess it is just a pet peeve of mine.

[Resist Windows XP''s Invasive Production Activation Technology!]
that''s working !!

thanks a lot :o)

This topic is closed to new replies.

Advertisement