C ++ не создает динамические списки так легко, как вы пытаетесь.
Чтобы создать динамические списки, вам необходимо сначала объявить динамический список:
Item * dlist = new Item[2];
Установить их:
dlist[0] = i1;
dlist[1] = i2;
затем передайте их в вашу функцию:
setInteractable(dlist);
Наконец, вы должны помнить, чтобы очистить вашу память:
delete [] dlist;
Или ... вы делаете этосо стандартной библиотекой шаблонов.
std::vector<Item> temp1;
temp1.push_back(i1);
//... other sets
Ваша функция должна быть:
void setInteractable(std::vector<Item> & list)
{
///
}
Вызов должен быть
setInteractable(temp1);