代码之家  ›  专栏  ›  技术社区  ›  kni

memcpy()在类中被调用以复制到另一个类变量后引发异常。

  •  -1
  • kni  · 技术社区  · 7 年前

    class JPEG_Server
    {
       public:
        unsigned char recv_buf[6];
    };
    

    在JPEG_客户端类中,我试图使用发送函数中的memcpy函数将*buf的内容复制到recv_buf中。

    void JPEG_Client::send_data(char *buf, int len) //buf is coming from another class
    {
        memcpy(&JPEG_Server->recv_buf[0], &buf, len)
    }
    

    例外情况如下:

     Exception thrown at 0x00C85579 in JPEG_Client.exe: 0xC0000005: Access violation writing location 0x00000000.
    
     If there is a handler for this exception, the program may be safely continued. 
    

    1 回复  |  直到 7 年前
        1
  •  0
  •   kocica    7 年前

    如果你想使用 memcpy

    你的 recv_buf NULL ,这意味着它初始化为

    void JPEG_Client::send_data(char *buf, int len) //buf is coming from another class
    {
        JPEG_Server->recv_buf = new char[len]
        memcpy(&JPEG_Server->recv_buf[0], &buf, len)
    }