描述符转换问题

时间:2009-06-16 07:28:52

标签: c++ symbian

CRSAPublicKey* publicKey;

const CRSAPublicKey &iRSAPublicKey= *publicKey;

iEncryptor = CRSAPKCS1v15Encryptor::NewL(iRSAPublicKey);

我的问题出在第二行,因为我必须传递一个对函数的引用,因为我正在从指针创建引用。

我不知道我这样做是对还是错。第一行编译,但在第二行崩溃。

3 个答案:

答案 0 :(得分:4)

如果需要传递对函数的引用,则无需创建中间命名值:

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

iEncryptor = CRSAPKCS1v15Encryptor::NewL( * publickey );

答案 1 :(得分:2)

您正在声明publicKey变量,但您从未对其进行初始化。使用未初始化的指针很容易导致KERN-EXEC 3。

答案 2 :(得分:0)

为避免混淆,您应该只使用i为成员变量加前缀。它很重要,因为它允许您确保以适当的方式销毁它们(即在析构函数而不是清理堆栈中)。

关于主题,你的第一行代码应该是松散的:

CRSAPublicKey* publicKey=CRSAPublicKey::NewLC();