mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question अनियमित
speech play
speech pause
speech stop

C++ में "नो डिफॉल्ट कंस्ट्रक्टर" त्रुटि को कैसे ठीक करें

इस संदर्भ में "विचलित" का अर्थ है कि कोड का अपेक्षित व्यवहार बदल गया है, और यह अब अपेक्षित पैटर्न का पालन नहीं कर रहा है। दूसरे शब्दों में, कोड अपने इच्छित पथ से भटक गया है। आप जिस समस्या का सामना कर रहे हैं वह इस तथ्य के कारण है कि `std::vector` में कोई डिफ़ॉल्ट कंस्ट्रक्टर नहीं है, इसलिए जब आप `MyVector' का एक उदाहरण बनाने का प्रयास करते हैं `बिना कोई तर्क प्रदान किए, कंपाइलर ऑब्जेक्ट का निर्माण करने में सक्षम नहीं होगा।

इस समस्या को ठीक करने के लिए, आप अपने `MyVector` वर्ग में एक डिफ़ॉल्ट कंस्ट्रक्टर जोड़ सकते हैं जो एक खाली सूची के साथ वेक्टर को आरंभ करता है:
```
class MyVector {
std::vector myVector;
public:
MyVector() : myVector{} {} // डिफ़ॉल्ट कंस्ट्रक्टर // ... अन्य विधियां ...
};
```
यह आपको उदाहरण बनाने की अनुमति देगा `MyVector` का बिना किसी तर्क के, और ऑब्जेक्ट का निर्माण सही ढंग से किया जाएगा।

वैकल्पिक रूप से, आप एक कंस्ट्रक्टर भी जोड़ सकते हैं जो कोई तर्क नहीं लेता है और एक खाली सूची के साथ वेक्टर को प्रारंभ करता है:
```
class MyVector {
std::vector< int> myVector;
public:
MyVector(const std::vector&) {} // डिफॉल्ट कंस्ट्रक्टर MyVector() : myVector({}) {} // डिफॉल्ट कंस्ट्रक्टर // ... अन्य तरीके...
};
```
यह आपको बिना किसी तर्क के `माईवेक्टर` के उदाहरण बनाने की भी अनुमति देगा, और ऑब्जेक्ट का निर्माण सही ढंग से किया जाएगा।

Knowway.org आपको बेहतर सेवा प्रदान करने के लिए कुकीज़ का उपयोग करता है। Knowway.org का उपयोग करके, आप कुकीज़ के हमारे उपयोग के लिए सहमत होते हैं। विस्तृत जानकारी के लिए, आप हमारे कुकी नीति पाठ की समीक्षा कर सकते हैं। close-policy