I need some help
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 ?
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
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
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!]
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement