2014-05-04 149 views
-1
template <class ST> 
bool OrderedSet<ST>::IsIn (const ST & value) const 
{ 
    for (LNode * np = first; np != NULL; np = np -> next) 
     if (np -> next == value) 
      return true; 
    return false; 
} 

我知道np-> next是指針,值不是。如果指定的數據值在set中,我想返回true,如果值不在set中,則返回false。錯誤:ISO C++禁止指針和整數之間的比較[-fpermissive]

+2

除了'next'指針外,最好還有其他的東西。嘗試將* that *與傳入的「value」進行比較,而不是您當前使用的鏈接列表管理字段。 – WhozCraig

+2

*我明白np-> next是一個指針,值不是。*那麼,你爲什麼不糾正它呢? – Rubens

+0

你的問題是不完整的,關於給我們足夠的信息來診斷這個!什麼是OrderedSet的聲明,其中的值在哪裏? –

回答

1

此行

if (np -> next == value) 

應該

if (np->data == value) 

,只是我們真的不知道你的data成員變量命名。

相關問題