क्या कोई मुझे बता सकता है कि इनलाइन फ़ंक्शन और स्थिर इनलाइन फ़ंक्शन के बीच क्या अंतर है?इनलाइन फ़ंक्शन और स्थिर इनलाइन फ़ंक्शन के बीच अंतर
किस मामले में मुझे इनलाइन पर स्थिर इनलाइन पसंद करनी चाहिए?
मैं इस सवाल से पूछ रहा हूं क्योंकि मेरे पास एक इनलाइन फ़ंक्शन है जिसके लिए मुझे लिंकिंग के दौरान संकलन के मुद्दों का सामना करना पड़ रहा है (relocation error:... symbol has been discarded with discarded section ...
)। मैंने इसे एक सामान्य कार्य किया और यह काम किया। अब मेरे कुछ वरिष्ठ नागरिकों ने मुझे स्थिर इनलाइन के साथ प्रयास करने के लिए कहा।
inline void wizSendNotifier (const char* nn_name, bpDU* arg=0, int aspect = -1)
{
wizuiNotifier* notifier = ::wizNtrKit.getNotifier (nn_name);
notifier->notify (arg, aspect);
}
और एक वर्ग के अंदर इस नहीं: नीचे मेरी कार्य है। यह एक हेडर फ़ाइल के अंदर है!
मुझे लगता है कि एक स्थिर कार्य को कॉल केवल विशेष टीयू में किया जाना चाहिए जहां इसे परिभाषित किया गया है।
चूंकि मेरा फ़ंक्शन हेडर फ़ाइल में है और यदि मैं इसे स्थिर बना देता हूं, तो क्या यह मामला होगा कि जहां भी मैं हेडर फ़ाइल को शामिल करता हूं, उस स्थिर इकाई का उपयोग उस अनुवाद इकाई में किया जा सकता है?
क्या यह कार्य कक्षा के अंदर है? कृपया इसकी घोषणा भी पोस्ट करें। – anatolyg
एक स्थिर वस्तु ':: wizNtrKit' है? इसका संबंध क्या है? – Walter
इसके अलावा, समारोह कहां दिखाई देता है? शीर्षलेख फ़ाइल, स्रोत फ़ाइल? कितनी स्रोत फाइलें इसे शामिल करती हैं? –