static Player players[32];
Player* Player_constructor() {
Player* player = malloc(sizeof(Player));
// Do some initializations
return player;
}
...
...
...
players[0] = Player_constructor();
问题是players[0]
类型为Player
,Player_constructor
类型为Player*
。
我如何克服这个问题?使用参考资料会有帮助吗?
答案 0 :(得分:1)
应该是
static Player *players[32];
答案 1 :(得分:1)
您可以创建一个指针数组而不是结构:
static Player * players[32];
答案 2 :(得分:1)
此处不需要动态分配:Player
结构数组可以直接使用,而不需要malloc
。处理初始化的一种简单方法是重写Player_constructor
,如下所示:
void Player_constructor(Player* player) {
// Do some initializations
}
...
Player_constructor(&players[0]);