3

これは私が書いた構造体です。

typedef struct {
    int index=NULL;
    int sd;
    pthread_t tid;
    char* name;
}client_t;

次に、これらの構造体の配列を作成しています。

static client_t *clients[MAXCLIENTS];

メイン関数では、配列内の位置に従ってこれらの構造体に値を割り当てています。

    clients[freeslot]->index=freeslot;
    clients[freeslot]->sd=connfd;
    clients[freeslot]->tid=syscall(SYS_gettid);
    clients[freeslot]->name=threadnames[freeslot];  

コンパイルすると、これらのエラー メッセージが表示されます。

code.c:185:12: error: ‘client_t’ has no member named ‘index’
code.c:186:19: error: ‘client_t’ has no member named ‘sd’
code.c:187:19: error: ‘client_t’ has no member named ‘tid’
code.c:188:19: error: ‘client_t’ has no member named ‘name’

これらのエラー メッセージについて混乱しています。間違った方法で値を割り当てましたか?

4

1 に答える 1

2

代入は構造体では許可されていません。構造体の外でインデックスを NULL に割り当ててみてください。

于 2013-05-29T16:51:59.320 に答える