作者INsoarDEEP (我/我/我)
看板EE_DSnP
標題[請益] iterator的使用
時間Fri Jan 15 20:06:02 2010
唔,狀況是這樣的,我在Hash::check()裡面宣告一個iterator it來走完hash
因為hashnode是pair<Hashkey, HashData>,所以我就用 it->first和it->second
去取pair裡面的東西
可是當我把HashKey和HashData分別代成BddHashKey和BddNodeInt*的時候,就發生錯誤了
搞不懂...這到底是為什麼呢?請大家幫忙一下... >"<
錯誤訊息:
「->」 的基運算元具有非指標類型:「Hash<BddHashKey, BddNodeInt*>::iterator」
好像是在說因為it不是指標所以不work??
另外還有一個錯誤是說在 BddNodeInt* BddNode::getBddNodeInt() const 裡面,
UINT_MAX尚未宣告,code裡面有用到這個嗎?? 我找不到說...orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.216.45
1F:推 ric2k1:錯誤的訊息呢? 01/15 20:11
※ 編輯: INsoarDEEP 來自: 140.112.216.45 (01/15 20:52)
2F:推 herbert570:因為沒有 overload 「->」 這個 operator,所以請愛用* 01/15 20:58
3F:→ herbert570:dereference. UINT_MAX 要 #include <climits> 01/15 20:58
4F:→ INsoarDEEP:喔喔!!可是為什麼testHash.cpp這樣用就可以work呢? 01/15 21:05
5F:推 herbert570:testHash.cpp 沒有用 -> 喔! 01/15 21:47