求大侠看一下如何改正
#include"iostream"#include<string>
using namespace std;
void moveOne(int numDisk,string init,string desti);
void move(int numDisks,string init,string desti,string temp){
if(numDisks==1)
moveOne(numDisks,init,desti);
else
{
move(numDisks -1,init,temp,desti);
moveOne(numDisks,init,desti);
move(numDisks -1,temp,desti,init);
}
}
inline void moveOne(int numDisk,string init,string desti){
cout<<"Move disk NO."<<numDisk<<"from"<<init<<"to"<<desti<<endl;
}
class Hanoi{
public:
Hanoi(int disks);
void solve();
private:
int totalDisks;
void move(int numDisks,string init,string desti,string temp);
void moveOne(int numDisk,string init,string desti);
};
void Hanoi::solve(){
string init ="A",desti="C",temp="B";
move( totalDisks, init, desti, temp);
}
int main(){
int disks;
cout<<"请输入要移动的圆盘数!"<<endl;
cin>>disks;
Hanoi HanoiExample(disks);
HanoiExample.solve();
return 0;
}
这个汉诺塔递归程序,有错误,求各位大侠改一改。