संभव डुप्लिकेट:
What will happen when I call a member function on a NULL object pointer?ऑब्जेक्ट इंस्टेंस के बिना गैरस्टिक सदस्य-फ़ंक्शन को कॉल करना क्यों संभव है?
खैर मुझे लगता है कि इस कोड और कार्यक्रम उत्पादन यह स्वयं की व्याख्या:
#include <iostream>
#include <string>
using namespace std;
class Test
{
public:
void Not_Static(string args)
{
cout << args << endl;
}
};
int main()
{
Test* Not_An_instance = nullptr;
Not_An_instance->Not_Static("Non-static function called with no object?");
cin.ignore();
return 0;
}
कार्यक्रम उत्पादन:
गैर-स्थैतिक फ़ंक्शन कोई ऑब्जेक्ट नहीं है?
यह क्यों संभव है?
क्योंकि यह अपरिभाषित व्यवहार है, इसलिए कुछ भी हो सकता है। –
@FredLarson, हालांकि सच है, यह वास्तव में * समझा नहीं है * यह क्यों संभव है। –
यह संभव है क्योंकि यह आपको चेहरे पर खुद को शूटिंग से रोकने के लिए सी ++ का काम नहीं है। –