我想从 C++ 中的函数返回一个数组。我做了这个简单的代码来尝试实现它。
#include <iostream>
#include <vector>
std::vector<int> *getx()
{
std::vector<int> a[2];
a[0].push_back(0);
a[1].push_back(1);
return a;
}
int main()
{
std::vector<int>* b = getx();
return 0;
}
它有效,但我收到此警告:
warning C4172: returning address of local variable or temporary: a
为什么如果我做std::vector<int> a[2]
静态我解决了警告?
static std::vector<int> a[2];
是否有另一种方法可以从函数返回数组而没有悬空指针警告?
谢谢你。