Okay поэтому у меня этот вопрос:указатель на структуру доступа нарушение пишущего расположение
Unhandled exception at 0x00261A46 in CompGeometry.exe: 0xC0000005: Access violation writing location 0xCDCDCDED.
First-chance exception at 0x00261A46 in CompGeometry.exe: 0xC0000005: Access violation writing location 0xCDCDCDED.
Это происходит в этой строке кода с помощью отладчика:
edges.tail->next->a = newEdge->a;
Это весь код для этого конкретного часть:
/* non-empty list -- add it */
if (edges.head != NULL)
{
printf("1 %d, %d\n", newEdge->a.x, newEdge->a.y);
printf("2 %d, %d\n", newEdge->b.x, newEdge->b.y);
//edges.tail->next = new hull::EDGE;
edges.tail->next->a = newEdge->a;
edges.tail->next->b = newEdge->b;
newEdge->next = NULL;
edges.tail->a.x = newEdge->a.x;
edges.tail->a.y = newEdge->a.y;
edges.tail->b.x = newEdge->b.x;
edges.tail->b.y = newEdge->b.y;
}
/* empty list -- 1st item */
else
{
edges.head = newEdge;
edges.tail = newEdge;
newEdge->next = NULL;
}
Это мой край структура и мои ребра структура:
typedef struct line {
VERTEX a;
VERTEX b;
struct line *next;
} EDGE;
struct edges {
int size;
EDGE* head;
EDGE* tail;
};
//all edges of the hull
struct edges edges;
Итак, я пытаюсь добавить EDGE к массиву EDGES с именем «edge».
Пожалуйста, помогите!
Вы не проверяете, не являются ли 'edge.tail' и' edge.tail-> next' не 'NULL'. – wimh