मेरे पास निम्नलिखित सी ++ कोड था, जहां घोषणा में मेरे कन्स्ट्रक्टर के लिए तर्क कन्स्ट्रक्टर की परिभाषा की तुलना में अलग स्थिरता थी।कन्स्ट्रक्टर परिभाषा और घोषणा के बीच विसंगति
//testClass.hpp
class testClass {
public:
testClass(const int *x);
};
//testClass.cpp
testClass::testClass(const int * const x) {}
मैं जी ++ इस कोड संकलन का उपयोग कर, चाहिए या कम से कम कुछ चेतावनी कोई चेतावनी के साथ इस संकलन करने में सक्षम था? यह पता चला है कि 64 बिट सोलरिस पर अंतर्निहित सी ++ कंपाइलर ने मुझे एक लिंकर त्रुटि दी, जिस तरह मैंने देखा कि एक मुद्दा था।
इस मामले में तर्क मिलान करने का नियम क्या है? क्या यह कंपाइलर्स पर है?
//testClass.hpp
class testClass {
public:
testClass(const int x);
};
//testClass.cpp
testClass::testClass(int x) {}
कौन सा भी संकलित के बीच एक ही अंतर के रूप में इसके बारे में
कृपया मानक का संदर्भ प्रदान करें। –
यदि आपने अधिक उदाहरणों की आवश्यकता है, तो मैंने इसके बारे में यहां लिखा है: http://stackoverflow.com/questions/269882/c-const-question/274888#274888 –
@ onebyone.livejournal.com: धन्यवाद। –