मैं यह करना चाहूंगा:
template <typename T>
struct S
{
...
static double something_relevant = 1.5;
};
लेकिन मैं नहीं कर सकता क्योंकि something_relevant
अभिन्न प्रकार का नहीं है। यह निर्भर नहीं करता है T
, लेकिन मौजूदा कोड इस पर निर्भर करता है कि यह एक स्थिर सदस्य है S
।
चूंकि S टेम्पलेट है, मैं एक संकलित फ़ाइल के अंदर परिभाषा नहीं रख सकता। मैं इस समस्या का समाधान कैसे कर सकता हूं ?
C ++ 11 के बाद से कीवर्ड इनलाइन बदल गया है, ताकि स्थिर चर को घोषणा के बिंदु पर आरंभ किया जा सके। तो इसके लिए घोषणा "इनलाइन स्टैटिक डबल समथिंग_रेलेवेंट = 1.5;"
@ user8991265 मेरा मानना है कि इनलाइन वैरिएबल C ++ 17 के बाद से उपलब्ध हैं, C ++ 11 नहीं।
—
zupazt3
std::string
टाइप करने के लिए भी लागू होता है