[討論] 一個小問題
這是我的operator overload ==
bool operator == (const iterator& i) const {
if(i._node == (*this))
return true;
else
return false;
}
這是我的erase部分
bool erase(const T&x) {
for(size_t i=0; i<_size; i++)
{
iterator it;
it++;
if(it._node == x)
{
iterator it(T* ptr);
return true;
}
}
return false;
}
compile後出現以下error
In file included from adtTest.h:42,
from adtTest.cpp:10:
../../include/array.h: In member function ‘bool Array<T>::erase(const T&) [with T = AdtTestObj]’:
adtTest.h:90: instantiated from here
../../include/array.h:149: error: no match for ‘operator==’ in ‘it.Array<AdtTestObj>::iterator::_node == x’
make[1]: *** [adtTest.o] Error 1
make: *** [main] Error 2
不知道是為何
請大家幫忙一下
謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.160.233.128
→
12/06 21:11, , 1F
12/06 21:11, 1F
推
12/06 21:13, , 2F
12/06 21:13, 2F
推
12/06 21:38, , 3F
12/06 21:38, 3F
→
12/06 21:39, , 4F
12/06 21:39, 4F
→
12/06 22:12, , 5F
12/06 22:12, 5F
討論串 (同標題文章)