После копирования кода из Классы в качестве параметра функции c ++ в мой код я получаю сообщение об ошибке: note: because the following virtual functions are pure within 'TEA':
и XTEA, но только эти две функции.Другие функции, AES, BLOWFISH, CAMELLIA, RC4, RC5, RC6 и т. Д., Все работают.Это только те две функции, которые ошибаются.Я не понимаю, почему.
код по ссылке (слегка измененный):
class CryptoAlgorithm
{
public:
virtual std::string encrypt(std::string DATA) = 0;
virtual std::string decrypt(std::string DATA) = 0;
virtual void setkey(std::string KEY) = 0;
};
и TEA setkey()
void setkey(std::string KEY,
unsigned int ROUNDS = 64,
uint32_t DELTA = 0x9e3779b9, uint32_t TOTAL = 0xc6ef3720)
Все функции вдругие классы такие же.шифровать / дешифровать имеют только std::string DATA
в качестве аргументов.void setkey
имеет std::string KEY
и другие необязательные аргументы.Однако такие функции, как RC6, чьи setkey
также имеют другие необязательные аргументы, не вызывают ошибок.
Любая причина, почему?
Кроме того, все классы имеют : public CryptoAlgorithm
рядом с их объявлениями.