Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么退出(0);给我一根std:string。。。错误? 我是C++新手。我决定不看下一个教程,而是通过制作一个有趣的读心器应用程序来使用我的技能。我对自己很满意,尽管我已经解决了大部分bug,但我仍然有一个关于退出功能的bug。我读了C++文档,我不知道我做错了什么。我确实退出了(0);。我有一个非常奇怪的错误,那就是: no match for call to '(std::string {aka std::basic_string<char>}) (int) 调用“(std::string{aka std::basic_string})(int)不匹配_C++_Exit - Fatal编程技术网

为什么退出(0);给我一根std:string。。。错误? 我是C++新手。我决定不看下一个教程,而是通过制作一个有趣的读心器应用程序来使用我的技能。我对自己很满意,尽管我已经解决了大部分bug,但我仍然有一个关于退出功能的bug。我读了C++文档,我不知道我做错了什么。我确实退出了(0);。我有一个非常奇怪的错误,那就是: no match for call to '(std::string {aka std::basic_string<char>}) (int) 调用“(std::string{aka std::basic_string})(int)不匹配

为什么退出(0);给我一根std:string。。。错误? 我是C++新手。我决定不看下一个教程,而是通过制作一个有趣的读心器应用程序来使用我的技能。我对自己很满意,尽管我已经解决了大部分bug,但我仍然有一个关于退出功能的bug。我读了C++文档,我不知道我做错了什么。我确实退出了(0);。我有一个非常奇怪的错误,那就是: no match for call to '(std::string {aka std::basic_string<char>}) (int) 调用“(std::string{aka std::basic_string})(int)不匹配,c++,exit,C++,Exit,我在网上搜索过,但是我仍然不知道问题出在哪里。我的错误在第59行(代码中有标记): #包括 #包括 #包括 使用名称空间std; int main() { //声明以后要使用的变量 字符串名; 弦国; 智力年龄; //标题在下面 cout局部变量exit将来自外部作用域的同名标识符隐藏起来 用一个小例子来说明: int main() { int i; { int i; i = 0; // assign to the "nearest" i

我在网上搜索过,但是我仍然不知道问题出在哪里。我的错误在第59行(代码中有标记):

#包括
#包括
#包括
使用名称空间std;
int main()
{
//声明以后要使用的变量
字符串名;
弦国;
智力年龄;
//标题在下面

cout局部变量
exit
将来自外部作用域的同名标识符隐藏起来

用一个小例子来说明:

int main()
{
    int i;
    {
        int i;
        i = 0; // assign to the "nearest" i
        // the other i cannot be reached from this scope
    }
}
由于唯一可见的
exit
是类型为
std::string
的对象,因此编译器将
exit(0)
视为对
operator()(int)
的调用,并在
std::string
成员中找不到一个时抛出嘶嘶嘶嘶声


您可以限定名称(
std::exit(0);
)或重命名变量。由于所有代码都在
main
中,您只需说
返回0;

局部变量
exit
会将其他标识符从具有相同名称的外部范围中隐藏起来

用一个小例子来说明:

int main()
{
    int i;
    {
        int i;
        i = 0; // assign to the "nearest" i
        // the other i cannot be reached from this scope
    }
}
由于唯一可见的
exit
是类型为
std::string
的对象,因此编译器将
exit(0)
视为对
operator()(int)
的调用,并在
std::string
成员中找不到一个时抛出嘶嘶嘶嘶声


您可以限定名称(
std::exit(0);
)或重命名变量。由于所有代码都在
main
中,您只需说
返回0;

问题出现了,因为您声明了一个标准关键字作为局部变量的名称。
现在,由于局部变量的类型为sting,因此无法将其作为其值。

问题出现了,因为您声明了一个标准关键字作为局部变量的名称。
现在,由于局部变量是sting类型,它不能将其作为其值。

尝试使用
返回0;
返回退出_SUCCESS;
。这是完全相同的。此外,您只能在
cin
中输入一个单词。相反,请使用
getline(cin,字符串名称);
如果仍然不起作用,请添加
cin.ignore();
获取行(cin,字符串名称)之前;
,如下所示:

//stuff
string country;
cout << "Now please enter the country you are in at the moment:\n\n";
cin.ignore();
getline(cin, country);
//stuff
return 0;
//东西
弦国;

请尝试使用
return 0;
return EXIT\u SUCCESS;
。这是完全相同的。此外,您只能在
cin
中输入一个单词。相反,请使用
getline(cin,string name);
如果仍然不起作用,请在
getline(cin,string name);
之前添加一个
cin.ignore();
,如下所示:

//stuff
string country;
cout << "Now please enter the country you are in at the moment:\n\n";
cin.ignore();
getline(cin, country);
//stuff
return 0;
//东西
弦国;

无法发布你的代码。请发布你的代码。谢谢,但是你能告诉我哪个变量是罪魁祸首吗?@IrshadAM在你的代码中只有一个
exit
局部变量。好吧,谢谢所有的帮助。问题是:亲爱的上帝,我的愚蠢。我的程序现在运行了,我只需要修复标题。谢谢所有的帮助!我爱stack exchange!抱歉垃圾邮件!顺便说一句,
exit
不是一个关键字。除此之外,这个答案是正确的。谢谢,但是你能告诉我哪个变量是罪魁祸首吗?@IrshadAM在你的代码中只有一个
exit
局部变量。谢谢所有的帮助。问题是:亲爱的上帝,我的愚蠢。我的程序现在可以运行了,我知道了谢谢你的帮助!我喜欢Stand Exchange!对不起,垃圾邮件BTW!<代码> EXECUT/CONDE>不是关键字。除了这个,这个答案是正确的。嗨,对不起,但是我真的很困惑你的答案,因为我在Wistern C++课程中只不过是15集。但是,下面的家伙回答了我的问题,如WEL。L,我已经评论了。你能帮我吗?谢谢。IrshadAM。如果你告诉我什么是困惑我的答案,我会很乐意修改。嗨。对不起,但是我真的很困惑你的答案,因为我在15个阶段的波斯顿的C++课程。但是,下面的人回答我的问题,我已经评论。帮助我吗?谢谢。@IrshadAM如果你告诉我我的答案到底有什么让人困惑的地方,我很乐意修正。