C++ Code Example: tower of hanoi (recursive)

The game consists of three sticks, on which several perforated discs are placed, all of different sizes.
At the beginning, all the discs are on the left stick, arranged in order of size, with the largest disc on the bottom and the smallest on the top.
The object of the game is to move the entire stack of discs to the right stick.
However, only a smaller disc may be placed on a larger one, a larger one on a smaller one is not allowed.

#include <iostream>
using namespace std;

void move(int disc,
          string from,
          string to,
          string aux) {
    if (disc > 0) {
        move(disc - 1, from, aux, to);
        cout << "Disc " << disc << ": move from " << from << " to " << to << endl;
        move(disc - 1, aux, to, from);
    }
}

int main() {
    move(4, "left", "middle", "rigth");

    return 0;
}
Output
Disc 1: move from left to rigth
Disc 2: move from left to middle
Disc 1: move from rigth to middle
Disc 3: move from left to rigth
Disc 1: move from middle to left
Disc 2: move from middle to rigth
Disc 1: move from left to rigth
Disc 4: move from left to middle
Disc 1: move from rigth to middle
Disc 2: move from rigth to left
Disc 1: move from middle to left
Disc 3: move from rigth to middle
Disc 1: move from left to rigth
Disc 2: move from left to middle
Disc 1: move from rigth to middle