这是我写的一个结构。

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

接下来,我将对这些结构进行数组处理。
static client_t *clients[MAXCLIENTS];

现在在main函数中,我根据数组中的位置为这些结构分配值。
    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’

我对这些错误消息感到困惑。我是否以错误的方式分配值?

最佳答案

不允许在结构中进行分配。尝试在结构外部将索引分配给NULL。

10-08 02:49