Scusa ma non hai capito una mazza. 
E poi che utilita` ha qui il 'return'?
codice:
vector<int> elabora(vector<int> &elem)
{
/*
* Lo ordina
*/
sort(elem.begin(), elem.end());
/*
* Lo itera e ciclando lo mostra
*/
vector<int>::iterator it = elem.begin();
for(;it<elem.end();it++)
{
cout << *it <<endl;
}
return elem;
}
Tolto 'return' e il tipo restituito:
codice:
void elabora(vector<int> &elem)
{
/*
* Lo ordina
*/
sort(elem.begin(), elem.end());
/*
* Lo itera e ciclando lo mostra
*/
vector<int>::iterator it = elem.begin();
for(;it<elem.end();it++)
{
cout << *it <<endl;
}
}