为什么不是';t我的C++;程序正常吗? 不知道为什么这不起作用,一切似乎都是对的,但也许我忽略了一些显而易见的事情,因为我刚刚开始了解C++。

为什么不是';t我的C++;程序正常吗? 不知道为什么这不起作用,一切似乎都是对的,但也许我忽略了一些显而易见的事情,因为我刚刚开始了解C++。,c++,string,definitions,C++,String,Definitions,节目: #include <iostream> #include <string> using namespace std; string ask(){ string ans2; cout << "Type:"; cin >> ans2; return ans2; } int main() { string ans2; string ans1="Hello"; ask(); co

节目:

#include <iostream>
#include <string>
using namespace std;

string ask(){
    string ans2;
    cout << "Type:";
    cin >> ans2;
    return ans2;

}

int main()
{
    string ans2;
    string ans1="Hello";
    ask();
    cout << ans1 << " turns into " << ans2;
    return 0;
}
#包括
#包括
使用名称空间std;
字符串ask(){
字符串ans2;
cout>ans2;
返回ans2;
}
int main()
{
字符串ans2;
string ans1=“你好”;
问();

cout在
main
ask
中的
ans2
是两个不同的变量。当您在
ask
函数中返回
ans2
的值时,您需要通过
ans2=ask();
main
函数中通过
ans2=ask()捕获它
,但除此之外,这段代码对我来说编译得很好。您遇到问题的程序与此处显示的程序不一样。首先,第20行是该程序中
函数的结尾
}
。我刚刚使用C++14编译,它似乎可以编译。在GCC4.8中也在c++98中编译standard@norritt我知道这个问题在代码评审中完全是离题的。请阅读
Line 20:[Error] no match for call to '(std::string {aka     std::basic_string<char>}) (std::string&)'

Line 6:[Error] 'ans2' was not declared in this scope
Line 6:[Error] expected ',' or ';' before '{' token