बिना लाइन पर मैं इस त्रुटि संदेश को समझने की कोशिश कर पागल हो रहा हूं जिसका वास्तविकता/मेरे कोड से कोई स्पष्ट संबंध नहीं है। मैं यहां खोज रहा हूं और एक निष्कर्ष पर आया हूं: आप टाइपिफ द्वारा छिपे पॉइंटर से नफरत करने जा रहे हैं। क्षमा करें, यह मेरे नियंत्रण से बाहर है - प्रोफेसर ने इस तरह से कोड प्रदान किया। मैं समस्या में निर्दिष्ट कोड को संपादित कर रहा हूं। मैं प्रत्येक पुश फ़ंक्शन पर मॉलोक कॉल से बचने और उन्हें द्वितीयक स्टैक में संग्रहीत करने के लिए पूर्ण नोड्स पॉपिंग कर रहा हूं। MakeEmptyS फ़ंक्शन INITIAL_SIZE नोड्स के साथ एक स्टैक प्रारंभ करता है। GrowEmptyS खाली नोड्स के ढेर के लिए और अधिक नोड्स कहते हैंसी - '=' टोकन से पहले अपेक्षित अभिव्यक्ति ... '='
stack.c निम्नलिखित कार्य है: 'से पहले = उम्मीद अभिव्यक्ति: "Stack.c:: 53: 22: त्रुटि
void
MakeEmptyS(Stack S)
{
PtrToNode tmp;
if (S == NULL)
Error("Must use CreateStack first");
else
{
GrowEmptyS(S, INITIAL_SIZE);
while (!IsEmptyS(S))
{
tmp = TopopNode(S);
PushEmpty(S, tmp);
}
}
}
मैं इस त्रुटि मिलती है 'टोकन ", जहां लाइन 53 बढ़ती है (एस, INITIAL_SIZE);
संदर्भ के लिए, यहां उगने वाले समारोह है:
void
GrowEmptyS(Stack S, int NumToAdd)
{
int i;
PtrToNode TmpCell;
for(i = 0; i < NumToAdd; i++)
{
TmpCell = malloc(sizeof(struct Node));
if (TmpCell == NULL)
FatalError("Out of Space!!!");
else
PushEmpty(S,TmpCell);
}
}
भले ही आपके प्रोफेसर ने आपको खराब कोड दिया हो, फिर भी आपको इसे पोस्ट करने से पहले इसे सरल बनाने की कोशिश करनी चाहिए। यदि आप हमें INITIAL_SIZE की परिभाषा नहीं दिखाते हैं, तो हमें 'GrowEmptyS (S, INITIAL_SIZE)' के सिंटैक्स को डीबग करना चाहिए? इसके अलावा, GrowEmptys एक प्रीप्रोसेसर मैक्रो या एक समारोह है? एक छोटा, आत्मनिर्भर, सही (संकलित) प्रदान करना, उदाहरण इन सभी सवालों को हल करेगा। Http://sscce.org/ –
देखें आपको यह भी बताना चाहिए कि 'INITIAL_SIZE' को कैसे परिभाषित किया गया है। –
INITIAL_SIZE की परिभाषा प्रदान नहीं करने के लिए खेद है। जैसा कि मैंने कहा, GrowEmptyS एक फ़ंक्शन है। लेकिन अगली बार जब मैं पूर्ण, संकलित स्रोत प्रदान करूंगा। धन्यवाद! – TravisThomas