Hello everyone I need to ask a question regarding storing array elements into list. I have taken an array in argument and trying to store the elements into list, but no elements stores in the list. I have taken this http://www.cplusplus.com/forum/general/25731/ program as a reference.
1 2 3 4 5 6 7
int CompareArray(.....,int x[])
int *x = newint[50]; //size of x[] is 50
list<int> output(x, x + 50);
for(list<int>::iterator itr1 = output.begin(); itr1 != output.end(); ++itr1){
cout<<" itr "<<(*itr1)<<endl;
}
I have taken an array in argument and trying to store the elements into list, but no elements stores in the list.
If you mean to say that no element of the passed-in array is stored in the list, this is accurate since you create another variable of the same name within the function and use that variable instead of the one passed in. If you mean to say that no values are stored in the list, that should not be true.
You're solution is a bit redundant. You could have just done this:
1 2 3 4 5 6 7 8
int CompareArray(.....,int x[])
int size = sizeof(x)/sizeof(int); // get size of array
list<int> output(x, x + size); // construct list using range of iterators from array
for(list<int>::iterator itr1 = output.begin(); itr1 != output.end(); ++itr1){
cout<<" itr "<<(*itr1)<<endl;
}