относительно метода шифрования - PullRequest
0 голосов
/ 21 мая 2009

Я использую функцию шифрования API шифрования (веселье объявлено виртуальным)

//fun declaration
TBool EncryptL(const TDesC8 &aInput, TDes8 &aOutput);

//function calling
TBuf8<10> text;
TBuf8<10> cipher;
text.Copy(_L("Hello"));
iEncryptor.EncryptL(text,cipher); it shows error expression syntax error

//fun definition
TBool CRSAAlgo::EncryptL(const TDesC8 &aInput,TDes8 &aOutput) 
{
    if(iEncryptor)
    {
        TInt len = iEncryptor->MaxInputLength();
    }
}

я хочу знать, в чем именно проблема

Ответы [ 2 ]

1 голос
/ 22 мая 2009

Основная проблема здесь, причина, по которой ваш компилятор жалуется, заключается в том, что вы используете iEncryptor в качестве объекта или ссылки, в то время как это, вероятно, указатель C ++.

Чтобы перейти к следующему этапу, попробуйте использовать:

iEncryptor-> EncryptL (текст, шифр);

0 голосов
/ 21 мая 2009

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

Я предполагаю, что проблема в том, что функция EncryptL , которую вы показываете, ожидает получить аргументы типа TDesC8 , и вы передаете ей TBuf8 <10> . Если TDesC8 не является typedef для TBuf8 <10> , они отличаются и поэтому для типов, несовместимых с компилятором.

Ypou также использует iEncryptor один раз в качестве указателя: iEncryptor-> MaxInputLength (); и в месте, где вы видите ошибку как объект: iEncryptor. EncryptL (текст, шифр); . Только одна форма может быть правильной. Поскольку у нас больше нет кода от вас, я не знаю, какой, но учитывая тот факт, что у последнего есть ошибка, я подозреваю, что последний.

...