यहाँ एक न्यूनतम काम कर उदाहरण हैस्थिर सदस्य फ़ंक्शन _declared_ स्थिर क्यों है, लेकिन _defined_ अन्यथा C++ में?</p> <p>आह:
class A{
static int a_member_function();
};
A.cpp
#include "A.h"
int A::a_member_function(){return 5;}
int main(){ return 1;}
इस कोड को संकलित करता है तथा रन है, लेकिन, मुझे लगता है कि:
static int A::a_member_function(){return 5;}
सी के स्थिर सदस्य फ़ंक्शन को परिभाषित करने के लिए आसानी से उपयोग किया जा सकता है वास्तव में, ऐसा लगता है कि यह वास्तव में इस आवश्यकता के लिए उपयोगी हो सकता है, क्योंकि यह .cpp फ़ाइल के पाठक को याद दिलाएगा कि a_member_function स्थिर है।
बहरहाल, यह स्पष्ट रूप से काम नहीं करता है:
error: cannot declare member function ‘static int A::a_member_function()’ to have static linkage [-fpermissive]
तो यह क्यों काम नहीं करता है? इस फैसले के पीछे तर्क क्या है?
आह। किसी तरह की भावना बनाता है। धन्यवाद! –