作者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