我想知道如何原型(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/

10-12 21:30