C ++如何通过引用传递对象数组的元素?

时间:2014-10-02 02:11:26

标签: c++ arrays object reference

我正在尝试将Coin对象数组传递给在用户界面函数中调用的Change函数。 我尝试了很多*和&组合在不同的地方,并没有找到成功。

用户界面功能标题

 void UserInterface (Coin Roll[])

Change函数标题(尝试过Coin * coin和got表达式必须有类类型错误)

    bool Change ( Coin & coin, long int & mulah )

我如何尝试在UserInterface

中调用Change(Roll是一个Coins数组)
Change(Roll[j], mulah)

整个计划在http://pastebin.com/6bsuyEvF

3 个答案:

答案 0 :(得分:0)

您可以将数组作为参考传递,如下所示

 void UserInterface (Coin (&Roll)[])

答案 1 :(得分:0)

你有几种可能性

  • void UserInterface(Coin roll[], int size);
  • void UserInterface(Coin* roll, int size);
  • void UserInterface(Coin (&roll)[42]); // size should be 42
  • template <std::size_t N> void UserInterface(Coin (&roll)[N]);

更改已接受的类型:

  • void UserInterface(std::vector<Coin>& roll);
  • void UserInterface(std::array<Coin, 42>& roll); // size should be 42
  • template <std::size_t N> void UserInterface(std::array<Coin, N>& roll);

答案 2 :(得分:-1)

代码没有问题! 我忘了将&#39;&amp;&#39; 添加到上面的函数原型 int main()

bool Change ( Coin & coin, long int & mulah ) ;

int main()

{

需要运营商的地址。