【发布时间】:2021-03-27 23:48:29
【问题描述】:
嘿,伙计们,我必须取出一串单词并将它们重新排序以在 C++ 中倒退。不是倒着拼写,而是本质上颠倒了句子。我的问题是我必须使用 cin.get() 并且我不断收到一个我似乎无法弄清楚的错误。错误是“没有重载函数的实例与参数列表匹配”它在 cin.get 之后的“get”下说这是我的代码
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cin.get(str, 1000);
int n = str.size();
int i, j = n;
for (i = n - 1; i >= 0; i--) {
if (str[i] == ' ') {
for (int k = i + 1; k < j; k++) {
cout << str[k];
}
cout << " ";
j = i;
}
}
for (int k = i + 1; k < j; k++) {
cout << str[k];
}
return 0;
}
【问题讨论】:
-
你想不通的错误是什么?
-
改用
std::cin -
@Ivan 似乎得到了相同的错误字符串 str; std::cin.get(str, 1000); int n = str.size();整数 i, j = n; for (i = n - 1; i >= 0; i--) {
-
@Ivan 他确实使用了
cin,他没有使用cin >> str,但你是对的 -
cin.get(str, 1000);很可能是std::getline(std::cin, str)