Error 'no se puede asignar un valor de tipo "X *” a una entidad de tipo "X *" cuando se usa typedef struct

Aquí está la estructura que estoy usando para los nodos ...

typedef struct
{
    struct Node* next;
    struct Node* previous;
    void* data;
} Node;

Y aquí está la función que estoy usando para vincularlos.

void linkNodes(Node* first, Node* second)
{
    if (first != NULL)
        first->next = second;

    if (second != NULL)
        second->previous = first;
}

Ahora Visual Studio me está dando el error intelectual (menos) en esas líneas.

IntelliSense: a value of type "Node *" cannot be assigned to an entity of type "Node *"

¿Alguien puede explicar la forma correcta de hacer esto? Visual Studio lo compilará y ejecutará, buscará y también funcionará en mi mac, pero se estrellará en los servidores de mis escuelas.

edición: pensé en usar memcpy pero eso es bastante cheasy

Respuestas a la pregunta(3)

Su respuesta a la pregunta