2013-06-13 3 views
1

мне было интересно, если вы могли бы помочь мне с небольшой проблемой у меня есть:C++ создать пустой байт

Сейчас я devloping в C++/Qt и получил следующее сообщение об ошибке:

P:\Produkt\Savor_V100\webapi.cpp:84: error: C2664: 'CryptoPP::PasswordBasedKeyDerivationFunction::DeriveKey' : cannot convert parameter 1 from 'const char *' to 'byte *' 
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast 

Параметр в функции не используется, поэтому я хотел бы передать пустой байт. После небольшого исследования я узнал, что байт - это простой символ без знака?

Мой код выглядит следующим образом:

byte* unused; 
qDebug() << CryptoPP::PasswordBasedKeyDerivationFunction::DeriveKey(CryptoPP::SHA1::StaticAlgorithmName(), CryptoPP::SHA1::BLOCKSIZE, unused, user->getPassword(), sizeof(user->getPassword()), user->getSerial(), sizeof(user->getSerial()), 0); 
+1

вы можете передать '0' или' nullptr', поскольку тип аргумента является 'byte *'. Или попробуйте 'reinterpret_cast (CryptoPP :: SHA1 :: StaticAlgorithmName())' – perreal

+0

В чем вопрос? – Aravind

ответ

2

Как сказано в комментарии, проблема здесь с первым аргументом функции, а не с третьего, где вы использовали unused. Поскольку я думаю, что вам нужен этот параметр, вы должны попробовать, как предложено:

Смежные вопросы