我想知道如何原型(prototype)化返回数组的函数,该数组也包含一个数组。在对数组进行原型(prototype)制作后,我如何实现它
它是否正确?
coffee* getData(*coffe);
int main() {
coffee cf[256];
coffee FinalCoffee[256];
FinalCoffee=getData(cf);
}
coffee getData(coffee objcf[]) {
for(int i=0;i<SIZE;i++) {
objcf[i].brand="nescafe";
}
return coffee;
}
请对此提供建议。我需要能够返回数组,以便可以将更新后的数组传递给另一个函数来处理它。
最佳答案
您的代码甚至没有匹配的声明和函数定义。这行不通。
但是以下内容可以:
std::vector<coffee> getData(std::vector<coffee> const& objs) {
std::vector<coffee> result;
// Do something to fill result
return result;
}
但是,例如在您的示例中,如果您想要操纵原始数组而不是返回一个新数组,那么完全没有返回值并将参数作为非const引用传递就更有意义了:
void manipulateData(std::vector<coffee>& objs) {
for (auto& obj : objs)
obj.brand = "nescafe";
}
根据经验,尽量避免使用C数组,而推荐使用C++标准库容器。这将使您的生活变得轻松得多。
关于c++ - 如何创建一个返回数组的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12742533/