CRSAPublicKey* publicKey;
const CRSAPublicKey &iRSAPublicKey= *publicKey;
iEncryptor = CRSAPKCS1v15Encryptor::NewL(iRSAPublicKey);
我的问题在第二行,因为我必须传递对函数的引用,因为我正在从指针创建引用。
我不知道我这样做是对还是错。第一行编译但在第二行它崩溃了。
如果您需要将 rfeference 传递给函数,则无需创建中间命名值:
CRSAPublicKey* publicKey = .... // initialise pointer somehow
iEncryptor = CRSAPKCS1v15Encryptor::NewL( * publickey );
您正在声明publicKey
变量,但您从未初始化它。使用未初始化的指针很容易导致 KERN-EXEC 3。
为避免混淆,您应该只在成员变量前加上 i。它很重要,因为它允许您确保以适当的方式销毁它们(即在析构函数中而不是清理堆栈中)。
关于主题,您的第一行代码应该大致如下:
CRSAPublicKey* publicKey=CRSAPublicKey::NewLC();