<分区>
我必须从函数返回 vector 。我尝试通过返回值并将其作为引用传递。但我得到垃圾值。 下面的程序给出了以下输出。
**This is the print inside the function**
1 7 8
1 2 3
4 5 6
**This is the print using the return value / referenced value outside the function**.
1 7 8
46980021526656 46980019425190 0
1 46980021526656 6
#include <iostream>
#include<vector>
using namespace std;
void process(vector<unsigned long long int*> &vec)
{
//vector<unsigned long long int*> vec;
unsigned long long int a[] ={1,2,3};
unsigned long long int b[] = {4,5,6};
vec.push_back(a);
vec.push_back(b);
for (int i = 0;i < vec.size();i++)
{
for (int j = 0;j < 3;j++)
{
cout << vec[i][j] << " ";
}
cout << "\n";
}
cout << "\n";
//return vec;
}
int main() {
// your code goes here
vector<unsigned long long int*> vec;
unsigned long long int c[] ={1,7,8};
vec.push_back(c);
process(vec);
for (int i = 0;i < vec.size();i++)
{
for (int j = 0;j < 3;j++)
{
cout << vec[i][j] << " ";
}
cout << "\n";
}
cout << "\n";
return 0;
}
我不知道哪里出了问题。我提到了许多堆栈溢出帖子。但是我找不到解决方案
请指出我做错了什么。提前致谢