我想将数据复制到一个结构成员,给定一个指向该结构的双指针。我无法更改 的签名copyFoo()
。GetCnt()
成员 cnt 被分配了预期的返回值,但是memcpy
当我像这样使用它时会产生访问冲突。当我有一个指向结构的双指针和一个 void 指针成员时,有人可以详细说明如何使用 memcpy 吗?非常感谢!
struct mystruct
{
void * data;
unsigned int cnt;
};
void copyFoo( myObj * inBar, mystruct **outFoo)
{
memcpy((*outFoo)->data, inBar->GetData(), inBar->GetLength() );
(*outFoo)->cnt= inBar->GetCnt();
}
int main(void){
myObj *in = getObj();
mystruct *out= new mystruct;
copyFoo(in, &out));
delete in;
delete out;
}
GetData()
的成员函数inbar
返回一个 void 指针,GetCnt()
返回unsigned int
并GetLength()
返回一个int
.