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