"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मुझे अपने C++ कोड में \"vtable\" और \"typeinfo\" अपरिभाषित प्रतीक त्रुटियाँ क्यों मिल रही हैं?

मुझे अपने C++ कोड में \"vtable\" और \"typeinfo\" अपरिभाषित प्रतीक त्रुटियाँ क्यों मिल रही हैं?

2024-11-09 को प्रकाशित
ब्राउज़ करें:370

Why Am I Getting \

अपरिभाषित प्रतीक: "vtable" और "typeinfo"

प्रदान किए गए कोड में, निम्नलिखित संदेशों के साथ एक लिंकिंग त्रुटि उत्पन्न होती है:

Undefined symbols:
  "vtable for Obstacle", referenced from:
      Obstacle::Obstacle()in Myworld.o
  "typeinfo for Obstacle", referenced from:
      typeinfo for RECTANGLEin RECTANGLE.o
      typeinfo for CIRCLEin CIRCLE.o

"vtable" और "typeinfo" को समझना

  • vtable (वर्चुअल मेथड टेबल): एक डेटा किसी क्लास के वर्चुअल तरीकों के पॉइंटर्स को स्टोर करने के लिए कंपाइलर्स द्वारा उपयोग की जाने वाली संरचना। यह व्युत्पन्न कक्षाओं की वस्तुओं को आभासी तरीकों के सही कार्यान्वयन को कॉल करने की अनुमति देता है।
  • typeinfo (रनटाइम प्रकार की जानकारी): ऑब्जेक्ट की मेमोरी में संग्रहीत जानकारी जो ऑब्जेक्ट के प्रकार की पहचान करती है। यह गतिशील प्रकार की जाँच और बहुरूपी व्यवहार को सक्षम बनाता है। -शुद्ध आभासी कार्य। जब कोई क्लास एक शुद्ध वर्चुअल फ़ंक्शन (वर्चुअल शून्य विधि() = 0;) घोषित करता है, तो यह दर्शाता है कि व्युत्पन्न कक्षाओं को कार्यान्वयन को ओवरराइड करना होगा। उनका कार्यान्वयन या तो बेस क्लास या व्युत्पन्न कक्षाओं में होने की उम्मीद है। हालाँकि, यदि ये कार्यान्वयन प्रदान नहीं किए जाते हैं, तो कंपाइलर आंतरिक संरचनाएं (vtable और typeinfo) उत्पन्न करता है जो उन कार्यों पर निर्भर करते हैं। लिंक करते समय, गायब फ़ंक्शंस अपरिभाषित प्रतीक त्रुटियों का कारण बनते हैं। शुद्ध आभासी कार्यों के रूप में। यह व्युत्पन्न वर्गों को इन विधियों को ओवरराइड करने और लागू करने के लिए मजबूर करता है। ऐसा करने से, सही वर्चुअल विधि कार्यान्वयन प्रदान किया जाएगा, और लिंकिंग प्रक्रिया अपरिभाषित प्रतीक त्रुटियों के बिना सफल होनी चाहिए।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3