-
Sleep is for reading the output. I already practised a little bit:
Code:
#include <iostream>
#include <vector>
using namespace std;
void pause()
{
cin.clear();
cin.ignore(1000, '\n');
cin.get();
}
void passvector(vector<int> ints)
{
cout << "Via function passed:\n";
for(int i = 0; i < ints.size(); i++)
{
cout << ints[i] << endl;
}
}
vector<int> returnvector()
{
vector<int> result;
result.push_back(1);
result.push_back(2);
result.push_back(3);
return result;
}
int main()
{
int q;
int val;
cout << "Number of ints: ";
while(!(cin >> q))
{
cin.clear();
cin.ignore(1000, '\n');
cout << "Wrong input, please re-enter: ";
}
vector<int> integers;
for(int i = 0; i < q; i++)
{
cout << "Integer value " << i << ": ";
while(!(cin >> val))
{
cin.clear();
cin.ignore(1000, '\n');
cout << "Wrong input, please re-enter: ";
}
integers.push_back(val);
}
for(int i = 0; i < q; i++)
{
cout << integers[i] << endl;
}
passvector(integers);
vector<int> result = returnvector();
cout << "Via function returned:\n";
for(int i = 0; i < result.size(); i++)
{
cout << result[i] << endl;
}
pause();
return 0;
}
-
I fixed the problem! It was in the private part of the class declaration. The pointers acted strange.