[問題] 動態class釋放
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
BCB
程式碼(Code):(請善用置底文網頁, 記得排版)
class OneInfo
{
public:
int Value;
};
class TwoInfo
{
public:
OneInfo One;
};
class ThreeInfo
{
public:
TwoInfo *Two;
};
========================
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int ThreeNum=3, TwoNum=2;
ThreeInfo *Three;
Three = new ThreeInfo[ThreeNum];
for (int i=0; i<ThreeNum; i++)
{
Three[i].Two = new TwoInfo[TwoNum];
for (int j=0; j<TwoNum; j++)
{
Three[i].Two[j].One.Value=i+j;
}
}
//^^^^^^^^^^^^^動態宣告了一個三層的class
//vvvvvvvvvvvvv想要釋放所宣告的動態class
for (int i=0; i<ThreeNum; i++)
{
for (int j=0; j<TwoNum; j++)
{
delete[] Three[i].Two[j]; //<--這樣寫不會過
//E2157 Deleting an object requires exactly one
//conversion to pointer operator
}
}
}
======================
請問一下要如何寫呢?
新手笨問題..請見諒
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 175.182.179.107
→
05/27 22:46, , 1F
05/27 22:46, 1F
抱歉.少打了..加了[]還是有error
→
05/27 23:00, , 2F
05/27 23:00, 2F
※ 編輯: clough 來自: 175.182.179.107 (05/27 23:09)
推
05/27 23:19, , 3F
05/27 23:19, 3F
→
05/27 23:20, , 4F
05/27 23:20, 4F
→
05/27 23:20, , 5F
05/27 23:20, 5F
→
05/28 07:28, , 6F
05/28 07:28, 6F
→
05/28 07:28, , 7F
05/28 07:28, 7F
→
05/28 07:29, , 8F
05/28 07:29, 8F
→
05/28 09:45, , 9F
05/28 09:45, 9F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章