我是C++中的新手,我嘗試創建一個對象數組。我使用的代碼如с++訪問違反對象數組
const int SORT_SIZE = 20;
int _tmain(int argc, _TCHAR* argv[])
{
CSimple * data;
data = new CSimple[SORT_SIZE];
for(int i = 0; i < SORT_SIZE; i++)
{
/*Access violation here*/ *(data + i * (sizeof(CSimple))) = *(new CSimple(rand() % 10000));
}
並在我的循環中我= 5我得到訪問衝突。 sizeof(CSimple)是8(只有一個int字段)如果它很重要
對不起,刪除我的答案 - 在重新讀取您的代碼後,我所說的只是刪除更好。 – djechlin
取出'*(sizeof(CSimple)' –
@PaulR是對的,編譯器負責按指針對象的大小縮放指針算術運算的整數操作數,所以當你這樣做的時候, – tmpearce