Ich verwende SDL2 für ein Spiel-Projekt, und wenn ich einen Wert in eine Uint32 Variablen zuzuweisen bin versucht, wirft Compiler diesen Fehler:Wie weisen Sie einer Uint32-Variablen einen Wert zu?
int sdl_create_win(t_render *ress, t_map *map)
{
SDL_CreateWindowAndRenderer(WIN_X, WIN_Y, 0, &ress->screen, &ress->rend);
if (!ress->screen || !ress->rend)
{
fprintf(stderr,
"Problem encountered while creating windows -> SDL Error : %s\n",
SDL_GetError());
SDL_Quit();
return (-1);
}
ress->texture = SDL_CreateTexture(ress->rend,
SDL_PIXELFORMAT_ARGB8888,
SDL_TEXTUREACCESS_STATIC,
map->x, map->y);
ress->pixels = [map->x * map->y];
memset(ress->pixels, 255, map->x * map->y * sizeof(Uint32));
return (0);
}
Compiler-Fehler ist ->
30:18: error: expected expression before ‘[’ token
ress->pixels = [map->x * map->y];
Dank viel Hilfe !!
Was ist 'Uint32'? Warum nicht die Standardtypen mit fester Breite verwenden? Der Fehler bezieht sich nicht auf den Typ, sondern auf Ihre - abenteuerliche - Grammatik. Es ist einfach nicht C. – Olaf
Was sind die eckigen Klammern '' und '' 'um den Ausdruck' map-> x * map-> y' zu tun? Vielleicht musst du [ein gutes Anfängerbuch finden] (http://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list)? –