作者sobluesk (只要有希望永遠不會結束)
看板EE_DSnP
標題[問題] getNext(T* p)const
時間Tue May 5 18:43:05 2009
寫了一段
想來compile試試看會不會過
可是出現
memMgr.h: In member function 「T* MemRecycleList<T>::getNext(T*) const [with
T = MemTestObj]」:
memMgr.h:169: instantiated from 「size_t MemRecycleList<T>::numElm() const
[with T = MemTestObj]」
memMgr.h:259: instantiated from 「void MemMgr<T>::print() const [with T =
MemTestObj]」
memTest.h:25: instantiated from here
memMgr.h:141: 錯誤:從類型「unsigned int」 到類型「MemTestObj*」 的轉換無效
可是我在memMgr.h:141行根本沒有出現unsigned int類型呀
T* _ptr = p;
_ptr = *(size_t*)p; <-----這一行
return _ptr;
如果改成
T* _ptr = p;
(size_t)_ptr = *(size_t*)p;
return _ptr;
則錯誤訊息變成
錯誤:賦值運算左值無效
可是我在popFront()出現很類似的code
卻完全沒有問題呀
請教一下,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.17.92
1F:推 yangjiunru:因為size_t是typedef unsigned int 05/05 18:48
2F:→ yangjiunru:(in your case) 05/05 18:48
3F:→ sobluesk:感謝 解決了 05/05 20:21
4F:推 ptt6161180:我覺得是因為const function內要有const data member 05/06 14:04