这是我的结构:
struct obcyObiekt{
float x;
float y;
bool alive;
};
在main i中创建struct
表obcyObiekt obcy[15];
我不知道如何添加struct table的参数,coz:
void initObcych2(struct obcyObiekt &obcy[15] )
主中的
initObcych2(obcy[15]);
std::cout<<obcy[1].x;
根本不起作用:( 将会有16个obcy,所以我创建了这个
的表答案 0 :(得分:0)
如果你想拥有函数签名,请将数组的大小保持为类型安全的一部分:
void initObcych2( obcyObiekt (&obcy)[16])
此方法仅接受16
类型obcyObiekt
元素的数组,参数变量名称将为 obcy 。
答案 1 :(得分:0)
似乎函数initObcych2用于初始化数组
的元素obcyObiekt obcy[15];
在这种情况下,该函数可以声明为
void initObcych2( obcyObiekt obcy[], size_t n );
并调用
initObcych2( obcy, 15 );
或者您可以声明类似
的功能void initObcych2( obcyObiekt ( &obcy )[15] );
并将其称为
initObcych2( obcy );
然而,第一个函数声明更灵活,因为如果更改数组的大小并且可能为不同大小的数组调用它,则不需要更改函数声明。
至于您展示的这条记录
void initObcych2(struct obcyObiekt &obcy[15] )
当
struct obcyObiekt &obcy[15]
是对struct obcyObiekt类型的对象的15个引用的数组。 C ++允许声明引用数组。它允许声明对像
这样的数组的引用struct obcyObiekt ( &obcy )[15]