Ошибка C ++ Valgrind Условный переход или перемещение зависит от неинициализированных значений

У меня проблема с моим кодом C ++, так как valgrind дает мне ошибку (условный переход или перемещение зависит от неинициализированных значений) в строках, выделенных ниже. Я пробовал инициализироватьтип«с пустой строкой, но, похоже, не работает.
Любая помощь здесь высоко ценится.

Спасибо заранее.

nandanator

int AB_CD::checkType(string & str)
{
int tmp = 0;

string type;while (getNextSubstring(str, type))
{
if (type == "AAA")     <<<<< ----- Valgrind error pointing here
{
tmp |= static_cast<int>(TYPE_AAA);
}
else if (type == "BBB") <<<<< ----- Valgrind error pointing here
{
tmp |= static_cast<int>(TYPE_BBB);
}
else if (type == "CCC") <<<<< ----- Valgrind error pointing here
{
tmp |= static_cast<int>(TYPE_CCC);
}
else
{
//Print a warning
}

}

return tmp;

}bool AB_CD::getNextSubstring(string & input, string & substring)
{
bool found_substring = false;

string::size_type start = input.find_first_not_of(" ,");
string::size_type end = input.find_first_of(" ,", start);

if (start != string::npos)
{
substring = input.substr(start, end-start);
input.erase(start, end-start);
found_substring = true;
}
return found_substring;
}

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]