gpt4 book ai didi

C++将字符串数组的元素存储到变量中

转载 作者:行者123 更新时间:2023-11-28 04:32:24 25 4
gpt4 key购买 nike

我目前正在使用 C++ 编写代码,而且对它还很陌生。我遇到了将字符串数组的元素转换为变量的问题。 cout 语句 dcity[selection-1] 按预期工作。但是,我无法将 dcity[selection-1] 存储到名为 departmentLocation 的变量中。 Visual Studios 给我的错误是没有合适的从字符串到字符的转换函数。有人对如何正确存储它有建议吗?谢谢!

int main()
{

int selection = 0;
char departureLocation;


std::string dcity[] = { "Seattle Detroit Seattle Chicago Houston Seattle" };
std::cout << "Please choose a number from the list";
std::cin >> selection;
std::cout << dcity[selection-1];


departureLocation=dcity[selection-1]

};

最佳答案

由于 C++ 是一种强类型语言,它不喜欢类型不匹配。您已通过以下方式声明变量:

char departureLocation;

这意味着 departmentLocation 是一个 char 类型的变量,或单个字符。所以“C”可以进入 departureLocation,但“Chicago”不能,因为它不止一个字符。

您还像这样声明了您的数组:

std::string dcity[] =

在这里,您已将数组的类型定义为 std::string。所以数组的元素是字符串,而不是字符。

简短的回答是,您需要在声明时将 departureLocation 的类型更改为字符串,而不是字符。像这样的东西:

std::string departureLocation;

我在上面的代码中也没有看到任何 include 语句。为了让 C++ 识别字符串类,您需要确保以下代码位于代码顶部的某处:

#include <string>

关于C++将字符串数组的元素存储到变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52525380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com