struct作为C ++中的参数

时间:2013-02-07 21:06:10

标签: c++ parameters struct

我是初学者所以请保持简单。

无论如何,我有一个如此定义的结构:

struct card      
  {
  char rank[10];
  char suit[10];
  char color;
  bool dealt;
  char location[10];
  };

我有一个传递这种结构的函数:

  void importCard(card deck[52]);

问题是,如果我在main()中定义结构,那么编译器在函数声明时(主页上面)不知道“卡”是什么。如何在不将结构定义为全局的情况下解决这个问题?

1 个答案:

答案 0 :(得分:5)

types 定义为“globals”是很好的,所以只需在文件顶部定义struct类型。


顺便说一句,请注意delaration

void importCard(card deck[52]);

几乎从不以这种方式编写,因为编译器只丢弃那里的52(因此在源代码中使用它有点误导)。

相反,它被写成例如。

void importCard(card deck[]);

为了彻底,我应该提到使用std::vector而不是原始数组,编码变得更容易,然后函数就是这样。

vector<card> importCards();