作者uxijgil ()
看板EE_DSnP
標題[問題] getNext(T*)
時間Fri May 8 07:52:25 2009
在 MemRecycleList<T> 這個class中
要做的是指向下一個element
所以我是想說假如 p 指向 &q 而 q 指向 &k
那要讓 p 指向 &k 的話,就是把 q 的內容給 p
所以我是這樣寫:
T* getNext(T* p) const {
return *(p);
}
T* getNext(T* p) const {
return (T*)*(p);
}
不過出現Error :
memMgr.h:145: 錯誤 從類型 MemTestObj 到類型 MemTestObj* 的轉換無效
make[1]: *** [memCmd.o] Error 1
不論我用哪種方法 , 都無法將進行對 p取 dereference
因為我寫的小程式
用 k = (int*)*(k) 都可以成功指到下一個
可是在這邊都不行
是語法錯誤? 還是要用其他方法?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.166.234.12
1F:推 sobluesk:不太懂為什麼同一個要定義兩次... 05/08 08:44
2F:→ sobluesk:改成*((T*)p)試試看 05/08 08:44
3F:→ uxijgil:沒有..那只是另外一種寫法 忘記駐明了 05/08 08:44
4F:→ firstquarter:好像是因為k是數字型態 但p不是 05/08 08:46
5F:→ firstquarter:你先把p cast成size_t*看看可不可以吧 05/08 08:47
6F:→ uxijgil:嗯嗯 正在邊爬文邊試 05/08 08:47
7F:→ uxijgil:樓上的方法可以過~~不過還是不知道為什麼 05/08 09:34