gpt4 book ai didi

c++ - 不存在从 "std::string"到 "char"的合适转换

转载 作者:太空宇宙 更新时间:2023-11-04 14:50:09 24 4
gpt4 key购买 nike

我正在为学校做一个项目,但遇到了一些问题(标题中有错误)。

这是遇到错误的代码行:

kruskalS[n].nodeList[m].push_back(tempFirstCity);

kruskalS 是一个结构,nodeList 是结构中 string 类型的 vector ,我正在尝试插入 tempFirstCity (也是一个 string)到那个数组中。

我很容易犯一个基本错误,因为我从 4 月开始就没有做过任何编程。任何形式的帮助都将不胜感激,如果需要,我愿意发布该计划的更多信息。

最佳答案

std::string 是(某种程度上)char 的容器。 push_back 函数用于将一个元素添加到容器的末尾。因此,当您调用 kruskalS[n].nodeList[m].push_back(tempFirstCity); 时,您说您正在尝试将一个元素添加到名为 string 的末尾kruskalS[n].nodeList[m]。所以编译器期望一个元素是 char

如果您知道 tempFirstCity 不为空并且您想要将 tempFirstCity 中的第一个 char 添加到 kruskalS 的末尾[n].nodeList[m](包括您知道 tempFirstCity.size() == 1 的情况),您可以这样做

kruskalS[n].nodeList[m].push_back(tempFirstCity[0]);

如果你想在任何当前内容之后添加整个字符串,你可以这样做

kruskalS[n].nodeList[m] += tempFirstCity;

如果您预计没有当前内容和/或您只想用 tempFirstCity 字符串替换任何已经存在的内容,您可以这样做

kruskalS[n].nodeList[m] = tempFirstCity;

关于c++ - 不存在从 "std::string"到 "char"的合适转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13656501/

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