学习C并且需要填充五个struct元素的数组,但我似乎无法弄清楚如何将struct数组传递给函数并且我一直收到错误:
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[])
{
...
}
我是否需要定义和初始化指针然后将该指针传递给函数?
答案 0 :(得分:4)
至少你需要移动struct Card
BEFORE函数dealFiveHand
原型的定义 - 这样函数就知道它的参数类型。
struct Card {
char suit;
char face;
};
void dealFiveHand(struct Card *wHand[]);
答案 1 :(得分:3)
在定义之前,您指的是卡。在引用它之前首先声明它,作为函数dealFiveHand()