Thanks .
any memcpy function.
logic only.
Thanks in advance.
codergem@gmail.com wrote:
I was trying to implement linked list in which the data field is
Generic...
the structure details are..
typedef struct node
{
void *data;
struct node *next;
}gnode;
Now to add a node into it, and i have written this function.
void insert(gnode **head,void *data,unsigned int size)
{
gnode *temp;
int i=0;
temp=(gnode *)malloc(sizeof(gnode));
temp->data=malloc(size);
for(int i=0;i<size;i++)
*(char *)(temp->data+i) = *(char *)(data + i);
temp->next= (*head);
(*head)=temp;
}
Why are you programming in C? Who is teaching you that?
Well i dont know how to copy the data into the temp->data.
Use memcpy.
But I have written the following code...
for(int i=0;i<size;i++)
*(char *)(temp->data+i) = *(char *)(data + i);
But it is giving the error : ' void * ' : Unknown size .
Of course. Drop the casts. Use memcpy.
If anyone knows any other way of copying it please tell me. And please
help me out in finding what is happening wrong in this code.
Please get yourself a good book on C++ and learn it. What you have
here is C (and not C++). It cannot be "fixed" to become C++, you are
much better off rewriting it in C++.
V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask