当我分配动态数组 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

注意不要让这个变量重载超过它可以存储的位数!