gpt4 book ai didi

c++ - 需要制作一个已创建对象的数组

转载 作者:行者123 更新时间:2023-11-30 02:09:04 26 4
gpt4 key购买 nike

我正在制作多个项目,需要将它们设置为可以相互交互。

Item i1 = Item("Item 1");
Item i2 = Item("Item 2");
Item i3 = Item("Item 3");
Item i4 = Item("Item 4");

i1.setInteractable({i2,i3});
i2.setInteractable({i1,i4});
i3.setInteractable({i1});

这是Item中setInteractable方法的方法头。

void setInteractable(Item i[]);

可交互的项目是这样存储的:

static Item interactableItems[25];

这行不通,错误发生在第一个大括号之后。在 C++ 中执行此操作的正确方法是什么?

最佳答案

您不想在数组中存储对象(否则,它们会被复制),而是对对象的引用。

像那样改变你的存储和界面:

void setInteractable(Item& i[]);
static Item& interactableItems[25];

我建议在 google 中查找:

  • 拷贝构造函数
  • 指针 vs 对象 vs 引用

关于c++ - 需要制作一个已创建对象的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5786179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com