c++ - linked list causes program to crash -
यह प्रश्न एक सटीक डुप्लिकेट है: < / P>
-
गॉसेर :: गॉसेसर (इंट वर्ड लैंबिक, कॉन्स्ट चार * वर्ड लिस्टफ़ाइलनाम) {for (int i = 0; i & lt ; 26; ++ आई) वर्णित [i] = गलत; स्ट्रिंग शब्द; Ifstream में (wordListFilename); जबकि (में & gt; & gt; शब्द) {if (word.size () == wordLength) {// शब्द वांछित लंबाई का है यदि (word.find_first_not_of (वर्णमाला) == string :: npos) {// शब्द में केवल लोअरकेस वर्णमालाएँ // cerr & lt; & lt; "संभवतः पहले डेटा:। PossibleSolutions- & gt; डेटा = शब्द; // cerr & lt; & lt; "संभव के बाद डेटा:। संभव सॉल्यूशन = संभावित सॉल्यूशन - & gt; आगामी; }}} In.close (); }
यह अनुमानक के लिए कन्स्ट्रक्टर है। यह विचार यह है कि आप शब्दावली से एक infile से पढ़ रहे हैं और यदि और यदि शब्द मानदंडों में फिट होता है तो उसे संभावित समाधान सूची में जोड़ दिया जाएगा। मुझे पूरी तरह से आश्वस्त नहीं है कि मैंने यह सही समझाया है। कार्यक्रम संकलित होता है लेकिन जब उपयोगकर्ता शब्दरेखा में प्रवेश करता है तो यह "संभावित सॉल्यूशन - & gt; डेटा = शब्द" पर क्रैश करता है। मुझे लगता है कि यह संभव है कि Infile सही ढंग से काम नहीं कर रहा है मुझे बताओ कि क्या आप समस्या देख सकते हैं, कोड का यह अगला खंड संभावित सॉल्यूशंस की घोषणा है। धन्यवाद <पूर्व>
struct ListNode {std :: स्ट्रिंग डेटा; ListNode * अगला; ListNode (std :: string str, ListNode * nxt): डेटा (str), अगला (nxt) {}}; // सभी अनुमानों से मेल खाने वाले शब्दों का संग्रह अब तक ListNode * संभावित सॉल्यूशन;
शून्य add_node (ListNode ** अंतिम, const char * wordListFilename) { // प्रक्रिया wordListFilename यहाँ istringstream के साथ, परिणाम शब्द ListNode * newnode = new ListNode; // TypeNode newnode- & gt; डेटा = शब्द का एक नया नोड बनाएँ; यदि (* last-> अगला! = NULL) // हमारे पास पिछले नोड newnode-> gt; अगला = * अंतिम; // इसे पिछले नोड और न्यूओनोड- & gt; अगला = नल से लिंक करें; // last = newnode से पहले कुछ भी नहीं; // अंतिम नोड हो जाता है newnode}
ध्यान दें कि आपको
आखिरी के लिए एक डबल पॉइंटर चाहिए, क्योंकि आप इसे फ़ंक्शन के अंदर संशोधित कर देंगे।
Comments
Post a Comment