0

資格情報プロバイダーと資格情報を開発しています。だから私はこのクラスSampleProviderSampleCredential. 次のように宣言しSampleProviderて、 が 1 つ、2 つ、または定数のSampleCredential

SampleCredential * _pCredential[2]

しかし今、私はそれを動的に割り当てたいと思っています。だから私はこれを持っています:

SampleCredential * *_pCredential

次に、メソッド内SetUsageScenario()で、コードが txt ファイルから資格情報の数を読み取り、割り当てます。

(*_pCredential) = new SampleCredential[numberCount];

しかし、それは機能していません。その行でエラーが発生し続けます。それは言う

アクセス違反書き込み箇所 0x00000000 ;

ここで何が起こり、何をすべきか知っていますか?

4

1 に答える 1

0

_pCredential はおそらくまだ初期化されておらず、まだ NULL です。"(*_pCredential)" を介して null ポインターを逆参照しようとすると、アクセス違反が発生します。

多分あなたはこれをするつもりでしたか?

_pCredential = new SampleCredential*[numberCount];

これにより、ポインターの配列が SampleCredential オブジェクトに割り当てられます。その後、次のように各 SampleCredential オブジェクトを割り当てることができます。

_pCredential[0] = new SampleCredential();
// etc.

完了したら、忘れずにメモリを解放してください。

for (int i = 0; i < numberCount; i++) {
    delete _pCredential[i];
}
delete [] _pCredential;
于 2011-07-05T13:53:49.940 に答える