如果不使用“using namespace std;”,如何使用getline()函数? 我刚开始学C++,所以如果我的问题有错,请原谅我。
在我看过的大多数教程中,我都被教导如何使用名称空间std;陈述但后来我发现这是一个糟糕的做法,所以现在我不使用它。我的问题是,如果我使用getline函数而不使用名称空间std;,我犯了一个错误。但是,如果我使用名称空间std;,它起作用了。我会给你看一些例子 不使用名称空间std 下面是使用名称空间std;的代码: 这段代码运行时没有任何错误 我应该添加任何语法吗?谁能帮帮我吗 谢谢如果不使用“using namespace std;”,如何使用getline()函数? 我刚开始学C++,所以如果我的问题有错,请原谅我。,c++,C++,在我看过的大多数教程中,我都被教导如何使用名称空间std;陈述但后来我发现这是一个糟糕的做法,所以现在我不使用它。我的问题是,如果我使用getline函数而不使用名称空间std;,我犯了一个错误。但是,如果我使用名称空间std;,它起作用了。我会给你看一些例子 不使用名称空间std 下面是使用名称空间std;的代码: 这段代码运行时没有任何错误 我应该添加任何语法吗?谁能帮帮我吗 谢谢 编辑:谢谢大家的帮助 问题是std名称空间中有很多东西 因为您没有使用名称空间std;此命名空间中的所有内容都
编辑:谢谢大家的帮助 问题是std名称空间中有很多东西 因为您没有使用名称空间std;此命名空间中的所有内容都必须显式地以std::为前缀 在这种情况下,my_str有一个类型字符串。但是没有类型字符串,有一个类型std::string。你需要直言不讳
#include <iostream>
int main() {
std::string my_str;
// ^^^^^ Add this.
std::cout << "Enter some text here -> ";
std::getline(std::cin, my_str);
// ^^^^^ Add this.
std::cout << "You entered -> " << my_str << "\n";
// ^^^^^^^ probably add this
}
我想你的意思是std::string my_str;。您是否收到其他错误消息?此外,您还需要包括。噢,还有std::getlinestd::cin,我的;。事实上,由于以下原因,您可以在getline调用中省略std::。但是你需要把它放在cin上。所以,getlinestd::cin,my_str;也可以。使用名称空间std代替糟糕的名称空间std;您可以使用std::getline;使用acceptable;。根据代码和声明的错误消息,我怀疑您没有看到报告的第一个错误。始终从第一个错误开始,因为后面的错误可能是第一个错误的工件。例如,定义局部变量行上的错误可能会导致忽略该定义,从而在使用该变量时导致错误。那些后来的错误不是真正的错误,只是第一个错误的回声。编译器报告的第一个错误是什么?另外,如果IDE有一个专用的错误视图,请忽略它,而改为查找编译器输出视图。后者应该提供有关错误的更多详细信息。非常感谢,它现在可以工作了。只是一个疑问,我可以使用std::endl;代替\n?您可以使用std::endl代替\n。但这是一种糟糕的做法。你不应该像endl那样强制冲洗。如果刷新操作不正确,则刷新效率非常低,系统将正确执行该操作。@helloWorld•在过去10年中,std::endl是正确的操作,而不是\n正确的操作次数是:0。在我的平台上\n比'\n'好,因为输出单个字符会被放入一个2字符数组中,其中第二个字符是'\0'空终止符,然后调用char const*output er。
error: 'my_str' was not declared in this scope
#include <iostream>
using namespace std;
int main() {
string my_str;
cout << "Enter some text here -> ";
getline(cin, my_str);
cout << "You entered -> " << my_str;
}
#include <iostream>
int main() {
std::string my_str;
// ^^^^^ Add this.
std::cout << "Enter some text here -> ";
std::getline(std::cin, my_str);
// ^^^^^ Add this.
std::cout << "You entered -> " << my_str << "\n";
// ^^^^^^^ probably add this
}