//6_22.cpp
#include <iostream>
#include <string>
using namespace std;
string reverse(string &s){
int i = s.length();
if(i > 0){
return s.substr(i - 1, i) + reverse(s.substr(0, i - 1));
}else{
return s;
}
}
int main(){
string s = "12345678";
reverse(s);
cout << s;
cin.get();
}
程序 return s.substr(i - 1, i) + reverse(s.substr(0, i - 1))总是报错
invalid initialization of non-const reference of type 'std::string&' from a temporary of type 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >'
请问是什么原因?本人是C++新手,现正在从事java开发.
#include <iostream>
#include <string>
using namespace std;
string reverse(string &s){
int i = s.length();
if(i > 0){
return s.substr(i - 1, i) + reverse(s.substr(0, i - 1));
}else{
return s;
}
}
int main(){
string s = "12345678";
reverse(s);
cout << s;
cin.get();
}
程序 return s.substr(i - 1, i) + reverse(s.substr(0, i - 1))总是报错
invalid initialization of non-const reference of type 'std::string&' from a temporary of type 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >'
请问是什么原因?本人是C++新手,现正在从事java开发.