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