作者osiris5435 (osiris5435)
看板EE_DSnP
标题[问题]有关 pop_front 中 memmove 的问题
时间Sun May 18 23:17:36 2008
我的 pop_front 是这样写的
void pop_front() {
iterator li = begin(); //81
memmove ( li, ++li, sizeof(T) *(_size - 1)); //82
--_size;
}
可是在compile时 出现这样的错误讯息 :
../../include/array.h: In member function 「void Array<T>::pop_front() [with
T = AdtTestObj]」:
adtTest.h:93: instantiated from here
../../include/array.h:82: 错误: 不能从 「Array<AdtTestObj>::iterator」 转换到
「void*」,为引数 「1」(属於 「void* memmove(void*, const void*, size_t)」)
请问我该怎麽解决呢?
谢谢大家罗
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.139.56.10
1F:→ timrau:li is NOT a pointer, so you should extract the pointer 05/18 23:25
2F:→ timrau:inside it and feed into memmove(). 05/18 23:25
3F:→ osiris5435: THX !! 05/19 00:00