我是初学者所以请保持简单。
无论如何,我有一个如此定义的结构:
struct card
{
char rank[10];
char suit[10];
char color;
bool dealt;
char location[10];
};
我有一个传递这种结构的函数:
void importCard(card deck[52]);
问题是,如果我在main()中定义结构,那么编译器在函数声明时(主页上面)不知道“卡”是什么。如何在不将结构定义为全局的情况下解决这个问题?
答案 0 :(得分:5)
将 types 定义为“globals”是很好的,所以只需在文件顶部定义struct
类型。
顺便说一句,请注意delaration
void importCard(card deck[52]);
几乎从不以这种方式编写,因为编译器只丢弃那里的52
(因此在源代码中使用它有点误导)。
相反,它被写成例如。
void importCard(card deck[]);
为了彻底,我应该提到使用std::vector
而不是原始数组,编码变得更容易,然后函数就是这样。
vector<card> importCards();