gpt4 book ai didi

c++ - 返回枚举数组的函数

转载 作者:搜寻专家 更新时间:2023-10-31 00:42:20 31 4
gpt4 key购买 nike

我需要一个返回枚举数组的方法,我试过了:

note_name *AppSettings::getNoteMap(){
note_name notes[] = {..}
}

我在 SO 的某个地方读到我应该返回数组第一个元素的地址,所以这就是为什么有一个指针。不过这给了我一个警告:address of stack memory associated with local variable notes returned

如何消除警告并正确返回数组?

最佳答案

您不能从函数返回数组,句号。您可以返回一个指向动态分配的内存块的指针(我不会走这条路),或者将一个指针(连同大小)作为输出参数,或者返回一个指向静态数组的指针,或者返回一个 vector<T>或其他一些集合。

我会使用 std::vectorstd::array

std::vector<note_name> foo() {
std::vector<note_name> ret;
// populate 'ret'
return ret;
}

关于c++ - 返回枚举数组的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12124695/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com