Astd::string
是(某种意义上)char
s 的容器。push_back
函数用于将一个元素添加到容器的末尾。因此,当您调用时kruskalS[n].nodeList[m].push_back(tempFirstCity);
,您说您正在尝试将一个元素添加到被string
调用的末尾kruskalS[n].nodeList[m]
。所以编译器期望一个元素是一个char
.
如果您知道那tempFirstCity
不是空的并且您想将第一个char
from添加tempFirstCity
到末尾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;