我开始在coderbyte上做C ++挑战。第一个是:
使用C ++语言,使用FirstReverse(str)函数 str参数被传递并以相反的顺序返回字符串。
使用下面的框中的参数测试功能来测试您的代码 有不同的论点。
它为您提供以下开始代码,然后您可以编辑并添加以创建程序:
#include <iostream>
using namespace std;
string FirstReverse(string str) {
// code goes here
return str;
}
int main() {
// keep this function call here
cout << FirstReverse(gets(stdin));
return 0;
}
我想出了以下内容:
#include <iostream>
using namespace std;
string FirstReverse(string str) {
cout<<"Enter some text: ";
cin>>str;
string reverseString;
for(long i = str.size() - 1;i >= 0; --i){
reverseString += str[i];
}
return reverseString;
}
int main() {
// keep this function call here
cout << FirstReverse(gets(stdin))<<endl;
return 0;
}
它给了我以下错误:“没有匹配函数来调用” 现在,为什么会发生这种情况,我该怎么做才能解决它?感谢您阅读本文,所有帮助将不胜感激。
答案 0 :(得分:3)
gets
方法在cstdio
标头中声明。
尝试#include <cstdio>
或#include <stdio.h>
修改1:使用std::string
我建议您使用std::string
和std::getline
。
std::string text;
std::getline(cin, text);
std::cout << FirstReverse(text) << endl;