dcity
- это массив std::string
с.departureLocation
- это char
, который может содержать только один символ.Чтобы сохранить (скопировать) элемент массива dcity
, departureLocation
должен иметь тип std::string
(или любой другой тип, который может быть построен из std::string
):
std::string dcity[] = { "Seattle Detroit Seattle Chicago Houston Seattle" };
std::string departureLocation = dcity[0];
BeОсознай, что dcity
- это массив, состоящий только из одного элемента.Возможно, вам нужен массив, в котором каждый город является отдельным элементом массива:
std::string dcity[] = { "Seattle", "Detroit", "Seattle",
"Chicago", "Houston", "Seattle" };
std::string departureLocation = dcity[2];
std::cin >> selection;
std::cout << dcity[selection-1];
Также вам следует выполнить некоторую проверку ошибок перед использованием ввода пользователя в качестве индекса массива:
if (!(std::cin >> selection) || selection < 1 || selection > sizeof(dcity) / sizeof(*dcity)) {
std::cerr << "Input error!\n";
return EXIT_FAILURE;
}
std::string departureLocation = dcity[selection - 1];
Если вам не нужны независимые копии ваших элементов массива, вы также можете использовать ссылку на std::string
:
std::string &departureLocation = dcity[selection - 1];
Имейте в виду, что для изменения строки используется departureLocation
теперь будет отображаться на элементе массива departureLocation
ссылок.Если вы не хотите разрешать изменения, используйте ссылку const
:
std::string const &departureLocation = dcity[selection - 1];