2009-06-16 7 views
0
CRSAPublicKey* publicKey; 

const CRSAPublicKey &iRSAPublicKey= *publicKey; 

iEncryptor = CRSAPKCS1v15Encryptor::NewL(iRSAPublicKey); 

Mon problème est sur la deuxième ligne, car je dois passer une référence à la fonction, pour cela je crée une référence à partir du pointeur.Problème de conversion de descripteur

Je ne sais pas si je fais cela bien ou mal. La première ligne se compile mais en deuxième ligne elle se bloque.

Répondre

2

Vous déclarez la variable publicKey mais vous ne l'initialisez jamais. L'utilisation d'un pointeur non initialisée conduit facilement à KERN-EXEC 3.

4

Si vous devez passer un rfeference à une fonction, il n'y a pas besoin de créer une valeur intermédiaire nommée:

CRSAPublicKey* publicKey = .... // initialise pointer somehow 

iEncryptor = CRSAPKCS1v15Encryptor::NewL(* publickey); 
0

pour éviter toute confusion, vous devrait seulement préfixer les variables membres avec i. C'est important car cela vous permet de vous assurer que vous les détruisez de manière appropriée (c'est-à-dire dans le destructeur plutôt que dans la pile de nettoyage).

Sur le sujet, la première ligne de code devrait être quelque chose vaguement le long des lignes de:

CRSAPublicKey* publicKey=CRSAPublicKey::NewLC();