string — Почему моя программа на C ++ не работает?

Не знаю, почему это не работает, все кажется правильным, но, может быть, я упускаю что-то очевидное, так как я только знакомлюсь с C ++.

Программа:

#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;
}

С сообщением об ошибке:

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

-4

Решение

ans2 в main И в ask две разные переменные. Когда вы возвращаете значение ans2 в вашем ask функция, вам нужно захватить его в свой main функция через ans2 = ask();, Рабочий пример на Ideone

2

Другие решения


По вопросам рекламы [email protected]