Проблема с возвратом логических значений в c ++ ..
bool find( const TrieNode &node, const string word )
{
if (word.length() == 0)
{
if (node.isWord)
{
cout << "TRUE" << endl;
return true;
}
else
{
cout << "FALSE" << endl;
return false;
}
}
char firstletter = word.at(0);
int index = firstletter - 'a';
if (node.letters[index] == NULL)
{
return false;
}
else
{
find (*node.letters[index],word.substr(1,(word.length() - 1)));
}
}
в моем основном
cout << find(*mynode,"word") << endl;
приведет к:
FALSE
95
ясно, cout FALSE означает, что функция возвращает false. Однако, когда я распечатываю результат функции, я получаю 95, что оценивается как true .. Любая причина, почему это может быть сделаноэто?
спасибо