Проблема преобразования дескриптора

CRSAPublicKey* publicKey;

const CRSAPublicKey &iRSAPublicKey= *publicKey;

iEncryptor = CRSAPKCS1v15Encryptor::NewL(iRSAPublicKey);

Моя проблема во второй строке, потому что я должен передать ссылку на функцию, потому что я создаю ссылку из указателя.

Я не знаю, делаю ли я это правильно или неправильно. Первая строка компилируется, но во второй строке она падает.

c++,symbian,

0

Ответов: 3


Если вам нужно передать rfeference для функции, нет необходимости создавать промежуточное именованное значение:

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

iEncryptor = CRSAPKCS1v15Encryptor::NewL( * publickey );

Вы объявляете publicKeyпеременную, но никогда ее не инициализируете. Использование неинициализированного указателя легко приводит к KERN-EXEC 3.


чтобы избежать путаницы, вы должны префиксные переменные-члены с помощью i. Это важно, поскольку это позволяет вам гарантировать, что вы уничтожите их соответствующим образом (т. Е. В деструкторе, а не в стеке очистки).

По теме, ваша первая строка кода должна быть чем-то свободным в следующих строках:

CRSAPublicKey* publicKey=CRSAPublicKey::NewLC();
C ++, Symbian,
Похожие вопросы
Яндекс.Метрика