【发布时间】:2014-06-02 08:14:50
【问题描述】:
好的,我有一个这样的结构:
typedef struct name
{
string thing1;
string thing2;
int thing3;
int thing4;
};
我使用了一个函数,它遍历数据并将所有内容分配到一个结构数组中,建立内部结构数组。 名称结构名;
函数运行良好并正确分配内部的所有内容...
structname[i].thing1 structname[i].thing2 等会在函数内部正常运行
我的问题是如何分配函数来返回这个结构数组?我似乎无法使用指针来做到这一点,我已经在网上广泛寻找答案。
编辑:首先,先在这里发帖。一直在使用这些资源,但我不能再强调在学习 php、c++ 等方面有多大帮助。你们都一直在。
我可以使用指针将结构很好地传递给函数,它只是返回一个结构数组,这似乎是问题所在。我的函数设置为 void 所以我一直在使用 void function(struct name &input) 但这显然似乎并没有修改结构。我也尝试将该函数用作返回类型,但它不匹配,因为它是一个数组而不是结构。
【问题讨论】:
-
C 还是 C++?虽然问题适用于两种语言,但答案会有很大差异。
-
@DieterLücking:不能在 C 或 C++ 中按值返回原始数组
-
无需弄乱 C 数组 - 使用 std::vector
或 std::array (如果可以使用 C++11,则使用后者)。
标签: c++ c arrays struct return