学习 C 并需要填充五个结构元素的数组,但我似乎无法弄清楚如何将结构数组传递给函数并且我不断收到错误:
error: conflicting types for 'dealFiveHand'
代码如下:
#define HAND_SIZE 5
void dealFiveHand(struct Card *wHand[]);
struct Card {
char suit;
char face;
};
int main(void)
{
struct Card *hand[HAND_SIZE];
dealFiveHand(hand);
}
void dealFiveHand(struct Card *wHand[])
{
...
}
我是否需要定义和初始化一个指针,然后将该指针传递给函数?
最佳答案
至少您需要在函数 dealFiveHand
原型(prototype)之前移动 struct Card
的定义 - 这样函数就知道其参数的类型。
struct Card {
char suit;
char face;
};
void dealFiveHand(struct Card *wHand[]);
关于c - 无法将结构数组传递给 C 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40446075/