'da Bağlantılılar Listesi'nde erişim ihlali Okuma erişimi açık, işlevleri gerçekleştirmek istediğim çok basit bir bağlantı listesi var, ancak kodumu çalıştırdığımda 'kök' düğümünde okuma erişimi ihlali hatası almaya devam ediyorum. atılanC++
İstisna: erişim ihlali okumak İşte
alıyorum hatadır (I satır kod sonra hatalar olsun yorumladı). kökü, 0xCCCCCCCC idi. Bu özel durum için bir işleyici varsa, program güvenli bir şekilde devam edebilir.Bu
yapıdır:struct node {
int value;
node* link;
node(int val) {
link = NULL;
value = val;
}
};
Önce başlatmak olduğunu bağlantılı böyle ana işlevi listesi:
int main()
{
node *root;
addnode(root, 20);
addnode(root, 1);
addnode(root, 50);
node *curr;
for (curr = root; curr->link != NULL; curr = curr->link) { // I get error here
cout << curr->value << " ";
}
cout << endl;
cout << "Number of elements " << countlist(root) << endl;
getchar();
return 0;
}
Ve (ilki düğüm eklemek için vardır denir fonksiyonu, ve listedeki düğümlerin sayısını saymak için ikinciyi):
T O hata devam ediyor, koddaki yorumlarda bahsettiğim satırlarda var.
Say , 'root == 0x12345' ve' root-> next == NULL' döngüden önce. Durumunun kontrol edilmesini ne bekliyorsunuz? –
'root' başlatılmamış ancak onun (rasgele, başlatılmamış) değeri kullanılmıştır. –
Kodun benim için iyi çalışıyor. Bu hatayı yeniden üretme hakkında daha fazla bilgi verebilir misiniz? – LibertyPaul