コードを変更し、memcpy を if ステートメントに移動しましたが、それでも同じエラーが発生します。
** * 指定された順序で埋められた新しい連結リスト ノードを返します。関数は * 新しい順序を割り当て、データに格納されている値をコピーしてから、連結リスト ノードを割り当てます。この関数を実装している場合は、 * 元のデータが呼び出し元の関数によって変更される可能性があるため、必ず複製してください。*/
struct order
{
int id;
char side;
int quantity;
double price;
};
struct onode
{
struct order* data;
struct onode* next;
struct onode* prev;
};
struct onode* newNode (struct order* data)
{
struct order* dataValue = (struct order*) malloc(sizeof(struct order));
struct onode* linkedlist = (struct onode*) malloc(sizeof(struct onode));
if(data != NULL)
{
linkedlist ->data = dataValue;
memcpy(dataValue, data, sizeof(*dataValue));
}
else
{
return NULL;
}
linkedlist->prev = NULL;
linkedlist->next = NULL;
return linkedlist;
}