0

二分木用の新しいノードを作成しようとしていますが、->left および ->right に割り当てようとするとエラーが発生します。

typedef struct bin_node_t {
     data_t data;
     bst_key_t key;
     struct bin_node *left;
     struct bin_node *right;
} bin_node;

bin_node の構造体定義です。

私が使用している変数は次のとおりです。

bin_node *new;
bin_node *node_array[256];

変数の割り当ては次のとおりです。

/* ... code to initialize node_array ... */
new = (bin_node *)malloc(sizeof(bin_node));

エラーが発生する場所は次のとおりです。

    new->right = node_array[i+1];
    new->left = node_array[i];

そして、ここに私が得ているコンパイラの警告があります:

huffman.c:99: warning: assignment from incompatible pointer type
huffman.c:100: warning: assignment from incompatible pointer type

私の完全なコードは次の場所にあります。

http://pastebin.com/iPYP5uVt

4

1 に答える 1

5

struct bin_nodeあなたのコードにはありません。変更struct bin_node *left:

struct bin_node_t *left;
              ^^^
于 2013-02-24T22:32:41.533 に答える