0

リンクされたリストを使用して SDL の画面に「ボディ」(単一の正方形) を出力する際に​​問題が発生しています。

次へのポインターと値のnode2 つのデータ変数を持つ があります。nodeSDL_Rect

これは私がSDL_FillRect関数を呼び出す方法です:

node* tmp; 

SDL_FillRect(screen, &tmp->body, white);

ここに私のノードクラスがあります:

class node{

    friend class map;

private:        
    node* next;

    SDL_Rect body;

public:         

    node() : next(NULL) {body.h = 15, body.w = 15, body.x = 390, body.y = 290;}

};

しかし、私が電話するとき

node tmp; 

SDL_FillRect(screen, &tmp.body, white);

がポインターでない場合node、四角形は正常に出力されます。

これをノードへのポインターで動作させる方法に関するヒントはありますか?

4

2 に答える 2

1
  node* tmp;
  SDL_FillRect(screen, &tmp->body, white);

オブジェクト tmp を割り当てていないようです。tmp = new node;どこかにあるはずです。

于 2013-06-28T16:44:16.487 に答える