Ich habe versucht, die Funktion memcpy() zu verwenden, aber es trat ein Fehler auf:
typedef struct
{
int a;
int b;
}A;
void Test(void **obj)
{
A *object=(A*)malloc(sizeof(A));
memcpy(object,*obj,sizeof(A));//program crash here
printf("a=%d\n",object->a);
printf("b=%d\n",object->b);
free(*obj);
*obj=NULL;
}
void main()
{
A *obj=(A*)malloc(sizeof(A));
obj->a=1;
obj->b=2;
Test((void**)obj);
}
Die Meldung wird angezeigt: "Zugriffsverletzung beim Lesen von Speicherplatz 0x00000001" Wenn ich das Argument void* übergebe, ist obj. Es gibt kein Problem Kann mir jemand helfen? Danke