作者ric2k1 (Ric)
看板EE_DSnP
標題Re: iterator
時間Sat Jun 20 15:44:08 2009
※ 引述《rockwalking (技安)》之銘言:
: HashNode nextHashNode(const HashNode& po){
: vector<HashNode>::iterator it;
: }
: myHash.h In member function `std::pair<_T1, _T2> Hash<HashKey,
: HashData>::nextHashNode(const std::pair<_T1, _T2>&)':
: 144 myHash.h expected `;' before "it"
: 是這樣的,我只要想要宣告vector的iterator就會出現這種訊息,朋友也說不出所以然
: 請問這個是什麼問題,為什麼我不能宣告vector的iterator
我猜想是這個原因:
因為 HashNode 事實上是 pair<HashKey, HashData>,
而 vector<T> 或是 list<T> 是不行宣告成 vector<pair<T1, T2> >
vector template 只吃一個 class argument,
他無法 pass 給 pair 兩個 class arguments...
建議就用 vector 裡面的 size() 就好了...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.46.108
1F:推 rockwalking:囧 有點不太願意 不過只能這樣 06/20 15:48
2F:推 sa901119:試試看vector<HashNode >::iterator ?? 06/20 15:51
3F:→ sa901119: ^^^^ 這裡空一格?? 06/20 15:51
4F:→ ric2k1:之前試過... 沒用 06/20 15:54