我怎样才能以一种良好而简单的方式定义这个值

How can I define this value(s) in a good and easy way?

本文关键字:简单 方式 定义 一种      更新时间:2023-10-16

我陷入了函数参数的转换/定义,非常感谢一些帮助。我相信对于任何有经验的c/c ++人来说,这都很容易,但对我来说不是,现在不是。

问题:

创建正确的参数以与 myCommmand(uint8 *pAddr) 一起使用,这将执行 send(pAddr, 6) ,它将使用这些参数循环以下 6 次:

write(reinterpret_cast<unsigned char*>(pAddr)[i]);

我的问题是,pAddr 必须指向一个 6 字节的数组,我最好将其定义为无符号字节值 (0-255( 或十六进制 00-FF。

限制

不得更改功能。它只是关于创建参数。

我的尝试:

uint8 Addr[] = {00,22,122,205,16,04};
uint8 *pAddr = &Addr;

但这会导致错误 C2440(无法将 uint(*([6] 转换为 uint8 *(。

期望的解决方案

我想知道一种很好的、格式良好的方法来创建这个 Addr 数组或流,或者通过将它们的字节或十六进制值写入我的代码来传递给我的函数的对象 - 就像我的尝试一样。我可以使用提升库。感谢大家帮助我解决这个问题!

你试过吗

uint8 Addr[] = {0x0,0x16,0x7a,0xcd,0x10,0x4};
uint8 *pAddr = Addr;

注意:不要使用0前缀!它表示数字以八进制表示,因此010表示8以十进制表示。