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