Я пишу функцию класса шаблона, сравнивающую std :: strings. std :: string является параметром шаблона. Моя проблема в том, что я не могу сравнить две константные строки с оператором "==", тогда я думаю, что я создаю две неконстантные временные строковые переменные для выполнения сравнения, но все равно не могу скомпилировать. Не знаю почему.
класс VGraph имеет вид VGraph<std::string, std::string> myGraph;
template <typename V, typename E>
size_t VGraph<V, E>::find(const V& vert)
{
V temp = vert; // (1)
for (size_t i=0; i<graph.size(); i++)
{
V noneConst = graph[i].getVertex(); // (2)
if (temp==noneConst)// I think broblem is here, and tried to fix using (1)(2)
return i;
}
return graph.size();
}
Прототип родственной функции
template <typename V, typename E>
const V& VVertex<V, E>::getVertex();