I have a defined node type for graph node:
struct node{
int data;
int neighboursNumber;
node * neighbours;
};
And I am trying to add for each node some neighbours like this:
node * n1 = (node *)malloc(sizeof(node));
n1->data = 1;
n1->neighboursNumber = 2;
n1->neighbours = (node *)malloc(sizeof(node) * n1->neighboursNumber);
node * n2 = (node *)malloc(sizeof(node));
n2->data = 2;
n2->neighboursNumber = 1;
n2->neighbours = (node *)malloc(sizeof(node) * n2->neighboursNumber);
node * n3 = (node *)malloc(sizeof(node));
n3->data = 3;
n3->neighboursNumber = 1;
n3->neighbours = (node *)malloc(sizeof(node) * n3->neighboursNumber);
n1->neighbours[0] = n2;
n1->neighbours[1] = n3;
n2->neighbours[0] = n1;
n3->neighbours[0] = n1;
But I get an error at building
error C2679: binary '=' : no operator found which takes a right-hand operand
of type 'node *' (or there is no acceptable conversion)
Isn't that the correct way to do it?
Aucun commentaire:
Enregistrer un commentaire