Что-то не так с моим базовым нулевым кодом инициализации?
#include <iostream>
int main()
{
int x{ 19 };
std::cout << "Hola!" << '\n';
std::cout << "Me llamo Kay\n";
std::cout << "And I am " << x << " years old\n";
std::cout << "Who are you?\n";
int y{};
std::cin >> y;
std::cout << "You are " << y << "?" << '\n';
return 0;
}
Итак, я хочу, чтобы код запускал программу, которая идет:
- Привет!
- Я ламо Кей
- А мне 19 лет
- Кто ты?
- [пользователь вводит что угодно]
- Вы [введенный пользователь]?
Но вместо этого я получаю:
- Привет!
- Я ламо Кей
- А мне 19 лет
- Кто ты?
- [пользователь вводит что угодно]
- Вам 0?
Изменить: введите описание изображения здесь
1 ответ
Решение
Вы объявили y как целое число. Это означает, что y можно использовать только как число. В вашем случае вы хотите, чтобы a содержал std::string. Это означает любой текст, например текст, введенный пользователем. Так что просто изменитеint y{}
в std::string y;
. И не забывайте, что вы можете объявить переменную в С ++ только один раз, поэтому вам придется удалить одно из объявлений для y.