कुंजी इस में है:
पिछले निहित घोषणा 'point_forward' की यहाँ
लाइन 96 पर था तुम हो:
point_forward(m); // where m is a mem_ptr;
के बाद से संकलक नहीं अभी तक point_forward(m)
के लिए एक समारोह घोषणा हुई है, यह "परोक्ष परिभाषित करता है "(यानी, मानता है) एक फ़ंक्शन जो एक int देता है:
int point_forward(mem_ptr m);
यह बाद में परिभाषा के साथ संघर्ष:
void point_forward (mem_ptr m) {
इसे ठीक करने के लिए आप कर सकते हैं:
कहीं लाइन 96 से पहले एक स्पष्ट घोषणा रखो: void point_forward(mem_ptr m);
यह कैसे point_forward()
के इलाज के लिए संकलक बता देंगे जब यह लाइन 96 पर देखता है, भले ही यह अभी तक कार्य कार्यान्वयन को नहीं देखा है।
या, लाइन 96 के ऊपर पूरे फ़ंक्शन को परिभाषित करें (फ़ंक्शन परिभाषा को लाइन 134 से ऊपर लाइन 96 तक ले जाएं)।
यहां थोड़ा सा more about declaring functions है।
आम तौर पर, शैली के लिए, मैं करूंगा या तो:
आप किसी भी अन्य सी फाइलों में point_forward()
उपयोग करने के लिए पूर्ण रूप से इसे परिभाषित नहीं करना चाहते हैं: पर
static void point_forward(mem_ptr m) { ..function body goes here.. }
स्रोत फ़ाइल का शीर्ष। एक हेडर फाइल में
void point_forward(mem_ptr m);
शामिल करने के लिए के लिए अन्य फ़ाइलों:
आप अन्य सी फाइलों में point_forward()
उपयोग करना चाहते हैं, एक आगे घोषणा डाल दिया।
स्रोत
2013-04-24 02:05:30
कृपया लाइन में आपके पास क्या है पेस्ट करें 96 –
point_forward (m); – user2313514
यह मेरे कोड में इस फ़ंक्शन का एकमात्र अन्य उदाहरण है। – user2313514