#### Archived

This topic is now archived and is closed to further replies.

# I need some help

## Recommended Posts

loloh    122
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 ?

##### Share on other sites
MENTAL    383
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

##### Share on other sites
loloh    122
but the error is from this line :
data = malloc( width * height * 3 );

I tried your suggestion but that don''t work

##### Share on other sites
Null and Void    1088
  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!]