我的代码覆盖自身时遇到麻烦,我不确定为什么

时间:2019-02-26 01:05:02

标签: c++

在下面的代码中,我可以更改计数数量newNodePtr-> setCount(amount);设置为任何值,它将保持不变。但是我试图将其初始设置为等于1。然后,如果再次发生,我将转到else语句,并将链接列表的值保留在该位置,但是将计数更改+1。

template<class ItemType>
bool LinkedBag<ItemType>::add(const ItemType& newEntry)
{

    Node<ItemType> *newNodePtr = new Node<ItemType>();
    int amount = 0;
        if (getFrequencyOf(newEntry)<1)
        {
            newNodePtr->setItem(newEntry);
            newNodePtr->setNext(headPtr);
            itemCount++;
            amount++;
            newNodePtr->setCount(amount);
            headPtr = newNodePtr;

        }
        else
        {
            const int freqAmount = getFrequencyOf(newEntry);
            newNodePtr->setItem(newEntry);
            itemCount++;
            newNodePtr->setCount(freqAmount+1);
        }

    return true;
}  // end add

1 个答案:

答案 0 :(得分:0)

在您的else块中,您正在设置新创建项目的计数。不在列表中的现有项目上。