-3
我需要將DMapEntry :: pData從char *更改爲包含原始指針的類DMapData,但仍然能夠參考& DMapEntry中的pData [offset],而無需改變它。這可能嗎?c無法從類型A *轉換爲類型B *
#include "stdafx.h"
class DMapData {
char* pData;
public:
char* operator->() { return pData; }
char operator[](size_t offset) { return pData[offset]; }
friend class DMapEntry;
};
class DMapEntry {
char* pStr;
public:
DMapData pData;
/*----->*/ void getStr(size_t offset) { pStr = &pData[offset]; }
};
int _tmain(int argc, _TCHAR* argv[])
{
DMapEntry a;
return 0;
}
感謝, 卡爾
如果您'操作符[]'返回引用'焦炭&',而不是一個值'char',那麼你就可以拿結果的地址。 – porges
你想'pData'是*什麼?* – Beta
對不起,我真的打算包括& - 只是一個錯字 – user2392005