2016-06-20 20 views
-1

私はゲームプロジェクトのためSDL2を使用して、私はUint32の変数に値を代入しようとしていたときに、コンパイラはこのエラーをスローしています:Uint32変数に値を割り当てる方法は?

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); 
} 

コンパイラエラーがある - >

30:18: error: expected expression before ‘[’ token 
ress->pixels = [map->x * map->y]; 

感謝助けをたくさん!

+0

「Uint32」とは何ですか?標準の固定幅タイプを使用してみませんか?エラーはタイプに関連するのではなく、あなたの冒険的な文法に関係します。単純にCではありません。 – Olaf

+4

'map-> x * map-> y'という式のまわりで角括弧' ['と'] 'とは何ですか?多分あなたは[良い初心者の本を見つける](http://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list)する必要がありますか? –

答えて

2

DSはうまく見えますが、Uint32はSDLで有効なタイプです。

この構文をCとすると、エラーはress->pixels = [map->x * map->y];になります。

このように角括弧は構文の一部ではありません。

おそらく、その行で達成したいことを述べるべきでしょうか?

+0

親愛なるdownvoter - 私はそれを修正することができます問題は何かについてコメントしてください。ありがとう –

関連する問題