0
static Player players[32];

Player* Player_constructor() {
    Player* player = malloc(sizeof(Player));
    // Do some initializations
    return player;
}
...
...
...
players[0] = Player_constructor();

问题在于players[0]typePlayerPlayer_constructoris type Player*

我该如何克服这个问题?使用参考文献会有帮助吗?

4

3 回答 3

1

它应该是

static Player *players[32];
于 2013-10-27T14:42:09.907 回答
1

您可以创建一个指针数组而不是结构:

static Player * players[32];
于 2013-10-27T14:42:16.943 回答
1

您在这里不需要动态分配:您的Player结构数组可以直接使用,无需malloc. 处理初始化的一种简单方法是将您的重写Player_constructor如下:

void Player_constructor(Player* player) {
    // Do some initializations
}
...
Player_constructor(&players[0]);
于 2013-10-27T14:46:47.477 回答