当我分配动态数组 C++ 时如何发送数组大小
how to send a size of array when i allocate a dynamic array C++
我正在尝试通过调用函数将大小发送到动态数组,并使用我在调用函数时发送的参数 SIZE
设置大小。
例如:
这就是我创建动态数组的函数:
JumboPacket(IN OUT UINT8* &p_buffer, ***IN UINT8 size***, IN MACAddress src, IN MACAddress dst)
{
UINT8 *my_buff_to_send = new UINT8[size] { 0 };
}
现在我用参数调用函数:
JumboPacket( p_buffer, **7000**, MAC_LinkPartner, MAC_DUT);
为什么我得到一个 IN UINT8 大小的有线号码 我希望在这种情况下得到 7000
提前致谢...
正如 Vlad from Moscow 所评论的那样 - 您正在使用 UINT8 变量类型作为输入。
UINT8 是使用基于 8 位的无符号整数类型变量的声明。这意味着您可以放置一个最多使用 8 位的值来表示。
在这种情况下,UINT8 类型变量的最大值将为 2^8 - 1,即 255(当然最小值为 0)。
可以找到有关此希腊语位学的更多信息 here。
注意不要让这个变量重载超过它可以存储的位数!
我正在尝试通过调用函数将大小发送到动态数组,并使用我在调用函数时发送的参数 SIZE
设置大小。
例如:
这就是我创建动态数组的函数:
JumboPacket(IN OUT UINT8* &p_buffer, ***IN UINT8 size***, IN MACAddress src, IN MACAddress dst)
{
UINT8 *my_buff_to_send = new UINT8[size] { 0 };
}
现在我用参数调用函数:
JumboPacket( p_buffer, **7000**, MAC_LinkPartner, MAC_DUT);
为什么我得到一个 IN UINT8 大小的有线号码 我希望在这种情况下得到 7000
提前致谢...
正如 Vlad from Moscow 所评论的那样 - 您正在使用 UINT8 变量类型作为输入。
UINT8 是使用基于 8 位的无符号整数类型变量的声明。这意味着您可以放置一个最多使用 8 位的值来表示。
在这种情况下,UINT8 类型变量的最大值将为 2^8 - 1,即 255(当然最小值为 0)。
可以找到有关此希腊语位学的更多信息 here。
注意不要让这个变量重载超过它可以存储的位数!