返回对结构数组的引用
Return reference to array of structs
我定义了一个结构:
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();
}
我希望它通过引用传递,这样它就不会被破坏,但它一直在抛出:
从类型"符号"的表达式初始化类型"符号*&"的引用无效
那么我如何从函数返回结构数组呢? 有参考。
您的根本问题是您正在尝试返回一个本地数组,无论您如何旋转它,它都永远不会起作用。更好的方法是使用向量;向量也可以在本地声明,但与数组不同,它可以返回。
vector<sym> fillStruct(){
vector<sym> array_of_struct;
/.. fill array with data
return array_of_struct;
}
bool another(){
vector<sym> next_array = fillStruct();
}
相关文章:
- 关于引用数组位置的问题
- 使用指针交换而不引用数组C++
- 对于Boost.Propertytree,有没有办法使用JSON点表示法来引用数组元素?
- 如何在递归函数中调用引用数组?
- 动态指针引用数组由三元运算符返回值,但有异常
- 为什么没有 std::string 构造函数来引用数组
- 指针/引用数组
- 错误 C2234:引用数组是非法的
- 引用数组的方法
- 通过引用数组值进行交换
- 引用数组涉及的技术问题
- 引用数组的函数调用
- 从其他类中的类引用数组
- 如何使用变量名称引用数组位置
- 在 OpenGL 中呈现三角形结构引用数组
- 如何取消引用数组元素(C++)
- c++引用数组数组(指针到指针?)
- 指向指针的指针如何能够引用数组
- C++取消引用数组
- c++中引用数组中对象的共享指针