Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में अनडिफाइंड रेफरेंस / अनरिजॉल्व्ड एक्सटर्नल सिंबल एरर क्या हैं?


जैसा कि नाम से पता चलता है, आपके द्वारा घोषित एक सिंबल को आपके द्वारा परिभाषित नहीं किया गया था। यह कई कारणों से हो सकता है। आइए उनमें से तीन को देखें –

  • आप घोषित नाम को परिभाषित करना भूल गए। उदाहरण के लिए, आपने एक फाइल में एक फंक्शन घोषित किया और कहीं उसका उपयोग किया। लेकिन आपने उसकी परिभाषा प्रदान नहीं की। कोड –

#include<iostream>
void foo();
int main() {
    foo(); // घोषित लेकिन परिभाषित नहीं
}
  • आपने इसे परिभाषित किया लेकिन क्वालिफाइड नाम का उपयोग नहीं किया। मान लीजिए आपने एक मेथड के साथ एक क्लास बनाई और उस मेथड को परिभाषित किया लेकिन स्कोप रिज़ॉल्यूशन का उपयोग करके उस फंक्शन को उस परिभाषा से लिंक करना भूल गए और उस फंक्शन का कहीं उपयोग किया। उदाहरण के लिए,

#include<iostream>
class A {
    void foo();
};
void foo() { } // A::foo का उपयोग करना चाहिए था
int main() {
    A a;
    a.foo(); // परिभाषित नहीं!
}
  • आपने निर्भरताओं को गलत क्रम में शामिल नहीं किया। लिंकर आपके द्वारा निर्दिष्ट क्रम में लिंक करने का प्रयास करता है। इसलिए यदि आप किसी मेथड का उपयोग उसकी परिभाषा से पहले करते हैं, तो यह त्रुटि देगा।

इस त्रुटि का कारण बनने वाली शर्तों की एक विस्तृत सूची बनाना संभव नहीं है। लेकिन आप इस पोस्ट को देख सकते हैं जिसमें संभावित कारणों की एक बहुत अच्छी क्यूरेटेड सूची है – StackOverflow।

  1. - C++ में कैरेक्टर लिटरल्स क्या हैं?

    एक कैरेक्टर लिटरल प्रोग्रामिंग में एक प्रकार का लिटरल है जो कंप्यूटर प्रोग्राम के सोर्स कोड के भीतर एक सिंगल कैरेक्टर के मान के प्रतिनिधित्व के लिए होता है। C++ में, एक कैरेक्टर लिटरल एक कॉन्स्टेंट कैरेक्टर से बना होता है। इसे सिंगल कोटेशन मार्क्स से घिरे कैरेक्टर द्वारा दर्शाया जाता है। कैरेक्टर ल

  1. - C++ में बूलियन लिटरल्स क्या हैं?

    बूलियन लिटरल्स वे लिटरल्स हैं जिनका अर्थ या तो true या false होता है। C++ में केवल दो बूलियन लिटरल्स हैं: true और false। ये लिटरल्स bool टाइप के होते हैं। आप इनका उपयोग इस प्रकार कर सकते हैं: उदाहरण #include <iostream> using namespace std; int main() { bool my_bool = true; if(my_bool

  1. - C++ में स्टैंडर्ड लाइब्रेरीज़ क्या हैं?

    C++ प्रोग्रामिंग भाषा में, C++ स्टैंडर्ड लाइब्रेरी क्लासेस और फंक्शन्स का एक संग्रह है, जो कोर भाषा में लिखे गए हैं और C++ ISO मानक का ही हिस्सा हैं। C++ स्टैंडर्ड लाइब्रेरी कई जेनेरिक कंटेनर्स, इन कंटेनर्स का उपयोग और हेरफेर करने के लिए फंक्शन्स, फंक्शन ऑब्जेक्ट्स, जेनेरिक स्ट्रिंग्स और स्ट्रीम्स (