мне было интересно, если вы могли бы помочь мне с небольшой проблемой у меня есть: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);
вы можете передать '0' или' nullptr', поскольку тип аргумента является 'byte *'. Или попробуйте 'reinterpret_cast (CryptoPP :: SHA1 :: StaticAlgorithmName())' –
perreal
В чем вопрос? – Aravind