"表达式必须具有类型",使用未记录的库函数

OJF*_*ord 0 c++ oop

我试图理解如何实现此构造函数时遇到此错误.

我取消了我确实拥有它的功能,并且达到了我的问题的极少示范:

uint32_t p=0, c;
uint8_t k=0x00;
c = p.AES::AES(AES_128, k);
Run Code Online (Sandbox Code Playgroud)

我希望明文p可以通过AES加密密钥k到密文c.

相反,Expression must have class type由于我对OOP的经验不足,我得到了错误.

不幸的是,图书馆根本没有完整的记录,所以我甚至无法通过实例学习(没有SO的帮助!) - 我在这里做错了什么?

Som*_*ude 5

您有多个问题:首先,您将其p用作对象,但它是基本类型的变量.其次,您尝试将构造函数作为静态方法调用.

你应该这样做

AES c(AES::AES_128, k);
Run Code Online (Sandbox Code Playgroud)

这声明c为类型的变量AES,您可以使用类中的成员函数

c.encryptBlock(someArray, someOtherArray);
Run Code Online (Sandbox Code Playgroud)

在我看来,你需要学习一些基本的(我的意思是真正的基础)C++.我建议你查看The Definitive C++ Book Guide and List.