我被困在函数参数的转换/定义中,非常感谢一些帮助。我相信这对任何有经验的 c/c++ 人来说都是一件容易的事,但对我来说不是,现在不是。
问题:
创建正确的参数以使用 with 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-array 或流,或传递给我的函数的对象,通过将它们的字节或十六进制值写入我的代码 - 就像我的尝试一样。我可以使用boost -libraries。感谢所有帮助我解决这个问题的人!