デフォルト引数の意味が解りません
//正しい
void func1(int a, int b, int c, int d=2, int e=10)
右から順にデフォルト引数を設定することができます。
//誤り
void func2(int a, int b =2, int c, int d, int e=10)
このようなデフォルト引数の指定はできません。
このfunc1()関数は次のように呼び出すことができます。
(1)func1(10, 5, 20);
(2)func1(10, 5, 20, 30);
(3)func1(10, 5, 20, 30, 50);
(1)は、デフォルト引数を指定した二つの引数を省略して呼び出しています。つまり引数dは2、
eは、10で初期化されます。
(2)には、最後の引数を省略して呼び出しています。つまり、最後の引数eが10で初期化されます
(3)は、すべての引数を指定して呼び出しています。
とあるのですが、まったく意味が解りません。
どうかこの問題を解る方解りやすく説明お願いします。