ねえ、私はC ++にかなり慣れていないので、なぜこれが機能しないのかわかりません。私は 2 つのクラスを持っています。それらを ned と myfile と呼びましょう。各 ned オブジェクト内に 2 つのファイル オブジェクトが必要です。ここに単純化があります:
class myfile {
public:
int nData;
int nHeaderSize;
myfile() {
nData=0;
nHeaderSize=0;
}
};
class ned {
public:
myfile *pSrc,*pTgt;
ned() {
myfile* pSrc = new myfile();
myfile* pTgt = new myfile();
}
};
int main(int argc, char* argv[]) {
ned* nedObj = new ned();
nedObj->pSrc->nData=5; //Access violation error here
}
これは明らかに単純化されたバージョンですが、どんなアイデアでも大歓迎です。この小さな例から問題が明らかでない場合は、さらにコードを追加できます。
編集:より小さな例に変換するときに間違って入力したセミコロンを修正しました