Well, I don't think it's a proper use of recursion anyway.
Your algorithm remind me of a book named <<Data Structures and Algorithm Analythis in C++ 3rd>> . In chapter 3, it gives us an a bad use of recursion:
And here is the comment beside
Unfortunately, if the container contains 20000 elements to print, there will be a stack of 20,000 activation records ...
So this program is likely to run out of stack space
This is why I disagree with you.