从void指针到结构的深层复制到另一个变量

时间:2016-07-03 19:01:42

标签: c++ pointers structure deep-copy

我有以下类型的结构:

struct SPacket
{
    unsigned char payload[260]; 
    unsigned int payloadLength; 
}; 

我使用观察者模式从C ++中的一个类中触发一些事件,并在另一个类中捕获这些事件以及一些数据。 aData是一个指向上述结构的void指针,而观察者类函数是这样的;

void process(void* evt, void* aData)
{
    SPacket aPkt;
    // here I want to copy the content pointed by aData into aPkt 
    ..........
    .............     

}

可能是一个愚蠢的问题,但我怎么能实现这个目标呢?

1 个答案:

答案 0 :(得分:2)

你想说:

SPacket aPkt = *static_cast<SPacket*>(aData);