== 11260 == Неверная запись размера 4
== 11260 == в 0x402872: b2_createPair (в / home / Дэвид / Документы / Программирование / 366 терминал / mainout
== 11260 == по 0x402BE9: b2_populateBigBucket (в / home / Дэвид / Документы / Программирование / 366 терминал / Mainout)
== 11260 == по 0x401993: doTads_b2 (tads.c: 82)
== 11260 == по 0x400E82: основной (main.c: 159)
== 11260 == Адрес 0x51d0318 равен 0 байтов после блока размера 8, выделенного
== 11260 == в 0x4C28F9F: malloc (vg_replace_malloc.c: 236)
== 11260 == по 0x402866: b2_createPair (в / home / Дэвид / Документы / Программирование / 366 терминал / mainout)
== 11260 == по 0x402BE9: b2_populateBigBucket (в / home / Дэвид / Документы / Программирование / 366 терминал / Mainout)
== 11260 == по 0x401993: doTads_b2 (tads.c: 82)
== 11260 == по 0x400E82: основной (main.c: 159)
Я к этому не привык - обычно это дает мне номер строки и для первых двух строк.
Также - если вы хотите помочь мне - я не могу понять, почему ему не нравится этот malloc -
pair2* b2_createPair(int nodeFrom, int nodeTo, int distance)
{
pair2* p = malloc(sizeof(pair2*));
if (p==NULL)
{
printf("Malloc was NULL\n"); fflush(stdout);
}
else
{
p->distance = distance;
p->nodeFrom = nodeFrom;
p->nodeTo = nodeTo;
}
return p ;
}
(хорошо - просто обратите внимание, что p-> nodeTo = nodeFrom ошибка - но это не влияет на результат.
структура выглядит как
struct pair2_t
{
int nodeFrom;
int nodeTo;
int distance;
struct pair2_t *previous;
struct pair2_t *next;
};
typedef struct pair2_t pair2;