It’s a container, right?
Proposal:
bool Contains(ItemType& Item) const
{
bool found = false;
TNode* temp = Tail;
while (temp->NextNode != nullptr)
{
if (temp->NextNode->Item == Item)
{
found = true;
break;
}
temp = temp->NextNode;
}
return found;
}