【发布时间】:2019-06-02 12:43:54
【问题描述】:
我想实现一个函数来读取返回 std::string 的用户输入。我还希望在返回字符串之前删除回车,以防万一出现问题(有回车)。
std::string getInput() {
std::string str = "";
std::cout << "> ";
std::getline(std::cin, str);
if (std::cin.eof()) {
quitGame();
}
str.erase(std::remove(str.begin(), str.end(), '\r'), str.end());
return str;
}
错误出现在str.erase,它指出no instance of overloaded function,但我相信我已经提供了足够的标题并匹配了函数的参数?
有人可以帮我吗?我在这里有什么遗漏吗?
【问题讨论】:
-
除了
'\r'之外,您可能还需要检查'\n'。 -
但我相信我已经提供了足够的标题什么标题?
-
宗教和编程的区别在于,在编程中你不必相信。您可以查找并发布代码。