CRSAPublicKey* publicKey;
const CRSAPublicKey &iRSAPublicKey= *publicKey;
iEncryptor = CRSAPKCS1v15Encryptor::NewL(iRSAPublicKey);
関数への参照を渡す必要があるため、ポインターから参照を作成しているため、私の問題は2行目にあります。
これが正しいか間違っているかはわかりません。最初の行はコンパイルされますが、2 行目でクラッシュします。
関数に参照を渡す必要がある場合、中間の名前付き値を作成する必要はありません。
CRSAPublicKey* publicKey = .... // initialise pointer somehow
iEncryptor = CRSAPKCS1v15Encryptor::NewL( * publickey );
publicKey
変数を宣言していますが、初期化していません。初期化されていないポインターを使用すると、KERN-EXEC 3 が発生しやすくなります。
混乱を避けるために、メンバー変数の前にはiのみを付ける必要があります。適切な方法で(つまり、クリーンアップスタックではなくデストラクタで)それらを確実に破棄できるため、これは重要です。
トピックでは、コードの最初の行は、次の行に沿ったものである必要があります。
CRSAPublicKey* publicKey=CRSAPublicKey::NewLC();