[英]Return reference to array of structs
我定義了一個Struct:
struct sym{
int data_onel;
int data_two;
}
我有功能:
sym*& fillStruct(){
sym array_of_struct[size];
/.. fill array with data
return *array_of_struct;
}
我在其中創建一個結構數組,並用數據填充結構。 但是,我想在另一個函數中返回此arr。 例如
bool another(){
sym *next_array = fillStruct();
}
我希望它通過引用傳遞,這樣它就不會被破壞,但會不斷拋出:
從'Symbols'類型的表達式對'Symbols *&'類型的引用的無效初始化
那么如何從函數返回結構數組? 供參考。
您的根本問題是您試圖返回一個本地數組,無論您如何旋轉它都將永遠無法工作。 更好的方法是使用向量。 向量也可以在本地聲明,但是與數組不同,它可以返回。
vector<sym> fillStruct(){
vector<sym> array_of_struct;
/.. fill array with data
return array_of_struct;
}
bool another(){
vector<sym> next_array = fillStruct();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.