这方面有很多资源,但我无法理解这个概念。
这是我尝试使用指针:
struct PEOPLE{
int id;
string name;
float cash;
};
int main(){
PEOPLE data[5];
getdata(data);
for(int i = 0; i < 5; i++){
cout << data[i].id << " " << data[i].name << " " << data[i].cash;
}
return 0;
}
void getdata(PEOPLE &*refdata[5]){
refdata[0].id = 11;
refdata[0].name = "John Smith";
refdata[0].cash = 200.30;
//and so on for index 1,2,3,4
}
这种方法是否正确,我怀疑它是否有效。
答案 0 :(得分:1)
这适用于编译时已知大小的数组:
template<size_t N >
void getdata(PEOPLE (&refdata)[N] )
{
refdata[0] = ....;
}
限制为5,
void getdata(PEOPLE (&refdata)[5] )
{
refdata[0] = ....;
}
答案 1 :(得分:0)
您可以简单地将其定义为:
void getdata(PEOPLE refdata[])
并致电:
getdata(data);