struct Test1 {
struct Test2 {
DWORD VA1 = 0;
DWORD VA2 = 0;
Test2(DWORD hp):VA1(hp) { }
} *Ppy[5];
Test1() {
for (int i = 0; i < 5; i++)
*(Ppy + i) = new Test2((DWORD)i+2);
}
~Test1() {
for (int i = 0; i < 5; i++)
delete *(Ppy + i);
}
};
void main() {
Test1*Als = new Test1;
for (int i = 0; i < 5; i++)
Als->Ppy[i]->VA2;
// doesn't work-> cout << Als->*(Ppy + i)->VA2 << endl;
delete Als;
}
ポインタースタイル/算術に、この行全体(可能な場合)または少なくとも
Ppy[i]
を変換する方法:Als->Ppy[i]->VA2
このような何かが動作しません:
Als->*(Ppy + i)->VA2
これはさらに多くの方法を作る方法はありますかレックス(
asm
ではない)?
ポインタや配列 'p'とインデックス' i'は 'p [i]'と '*(p + i)'の式が等しいことが分かります。なぜあなたはポインタ計算を読むのが難しいのですか?あなたが怠け者であれば、書く人数も増えます。 –
これを行う理由を説明してください。 (適切にフォーマットするためにコードを編集してください) –
'Ppy [i]' **は**ポインタ演算です – user463035818