int vettore[]; const int dim
un puntoevirgola di troppo ??
si comunque swap la puoi fare anche senza puntatori, e usando i template, cosi' usi una sola funzione:
codice:
template <class type>
void swap(type &a, type &b)
{
  type tmp = a;
  a = b;
  b = a;
}
questo pero' crea problemi se scabi 2 classi che usano la memoria dinamica.
perche' viene richiamato il distruttore di tmp, che distrugge la memoria.
Dovresti ridefinire l'operatore = per non creare problemi.

Comunque, questa la puoi usare con tutti i tipi standard, senza problemi

ciauz