递归反向字符串方法的参数过多错误

use*_*437 4 c++ recursion

我正在尝试编写一个递归函数来打印字符串的反转,但是,编译器一直说它有太多的参数.这个递归程序有什么问题?

#include <iostream>
using namespace std;

void reverseDisplay (const string& s)
{

    int length=s.size()-1;
    if (length==0)
        return;

    reverseDisplay(s, length);
}

void reverseDisplay (const string& s, int n)
{
    if(n==1)
        cout <<s[n];

    else { 
        cout << s[n];
        reverseDisplay(s, n-1);
    }
}

int main()
{
    string s="12345";
    reverseDisplay(s);


    return 0;
}
Run Code Online (Sandbox Code Playgroud)

小智 5

尝试前瞻性声明:

void reverseDisplay (const string& s, int n);
Run Code Online (Sandbox Code Playgroud)

把它放在前面void reverseDisplay (const string& s).