मुझे पता है कुछ पदों का पता चला glibc देखते हैं, लेकिन अगर आप इस के लिए एक समाधान का सुझाव सकता है मैं बहुत आभारी होंगे:
*** glibc detected *** ./a.out: double free or corruption (top): 0x08901d70 ***
======= Backtrace: =========
/lib/libc.so.6(+0x6c501)[0x17c501]
/lib/libc.so.6(+0x6dd70)[0x17dd70]
/lib/libc.so.6(cfree+0x6d)[0x180e5d]
/lib/libc.so.6(fclose+0x14a)[0x16c81a]
./a.out[0x8048998]
/lib/libpthread.so.0(+0x5cc9)[0xc1fcc9]
/lib/libc.so.6(clone+0x5e)[0x1e069e]
======= Memory map: ========
यह तब हो जब मैं एक द्विआधारी खोज वृक्ष मुक्त करने का प्रयास लगता है:
void freetree(BNODEPTR *root)
{
if(root!=NULL)
{
freetree(root->left);
freetree(root->right);
free(root);
}
}
संरचना BNODEPTR को typedef'd है
struct bnode{
int info;
int count;
struct bnode* left;
struct bnode* right;
};
मैं मुख्य () का उपयोग कर freetree (रूट) से समारोह बोल रहा हूँ।
पेड़ को सही ढंग से लागू किया जाना के रूप में एक inorder ट्रावर्सल किसी क्रमित उत्पादन का उत्पादन लगता है।
पूरे कोड पर है:













